X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=lbs-util;fp=lbs-util;h=6f9712963cbca40aed6c5778245da8dfb831e463;hb=f91bfd2eb7449a0dced6bf1f356db57904dd65d5;hp=da8906050bef9bbf3c759139f53cdccf55974072;hpb=a505bcbad2cfabe4d85052d83375c7598b0c75c2;p=cumulus.git diff --git a/lbs-util b/lbs-util index da89060..6f97129 100755 --- a/lbs-util +++ b/lbs-util @@ -178,6 +178,17 @@ def cmd_restore_snapshot(args): destdir = args[1] paths = args[2:] + def matchpath(path): + "Return true if the specified path should be included in the restore." + + # No specification of what to restore => restore everything + if len(paths) == 0: return True + + for p in paths: + if path == p: return True + if path.startswith(p + "/"): return True + return False + def warn(m, msg): print "Warning: %s: %s" % (m.items.name, msg) @@ -185,6 +196,7 @@ def cmd_restore_snapshot(args): pathname = os.path.normpath(m.items.name) while os.path.isabs(pathname): pathname = pathname[1:] + if not matchpath(pathname): continue print pathname destpath = os.path.join(destdir, pathname) (path, filename) = os.path.split(destpath)