Include scheme name in statcache file, so localdb directory can be shared.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Fri, 20 Jul 2007 21:10:33 +0000 (14:10 -0700)
committerMichael Vrable <mvrable@turin.ucsd.edu>
Fri, 20 Jul 2007 21:10:33 +0000 (14:10 -0700)
scandir.cc
statcache.cc
statcache.h

index dba840d..6e672c6 100644 (file)
@@ -683,7 +683,8 @@ int main(int argc, char *argv[])
 
     /* Initialize the stat cache, for skipping over unchanged files. */
     statcache = new StatCache;
-    statcache->Open(localdb_dir.c_str(), desc_buf);
+    statcache->Open(localdb_dir.c_str(), desc_buf,
+                    backup_scheme.size() ? backup_scheme.c_str() : NULL);
 
     scanfile(".", false);
 
index 86886c0..099eb70 100644 (file)
@@ -79,10 +79,13 @@ static int pathcmp(const char *path1, const char *path2)
     return pathcmp(slash1 + 1, slash2 + 1);
 }
 
-void StatCache::Open(const char *path, const char *snapshot_name)
+void StatCache::Open(const char *path, const char *snapshot_name,
+                     const char *snapshot_scheme)
 {
     oldpath = path;
     oldpath += "/statcache";
+    if (snapshot_scheme != NULL)
+        oldpath = oldpath + "-" + snapshot_scheme;
     newpath = oldpath + "." + snapshot_name;
 
     oldcache = new ifstream(oldpath.c_str());
index 6186f88..6e4af2c 100644 (file)
@@ -35,7 +35,8 @@
 
 class StatCache {
 public:
-    void Open(const char *path, const char *snapshot_name);
+    void Open(const char *path, const char *snapshot_name,
+              const char *snapshot_scheme);
     void Close();
     bool Find(const std::string &path, const struct stat *stat_buf);
     void Save(const std::string &path, struct stat *stat_buf,