]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
obsync: add --follow-symlinks
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 7 Apr 2011 17:25:10 +0000 (10:25 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 7 Apr 2011 21:22:30 +0000 (14:22 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/obsync/obsync.py

index 96bf5c2f96108d75c068ad767aca679e5afa1dc3..bee84039d1283984426edabf2d4e6189cf1d06d0 100755 (executable)
@@ -232,7 +232,10 @@ class FileStoreIterator(object):
     """FileStore iterator"""
     def __init__(self, base):
         self.base = base
-        self.generator = os.walk(base)
+        if (opts.follow_symlinks):
+            self.generator = os.walk(base, followlinks=True)
+        else:
+            self.generator = os.walk(base)
         self.path = ""
         self.files = []
     def __iter__(self):
@@ -353,6 +356,9 @@ DESTINATION before transferring any objects")
 parser.add_option("-d", "--delete-after", action="store_true", \
     dest="delete_after", help="delete objects that aren't in SOURCE from \
 DESTINATION after doing all transfers.")
+parser.add_option("-L", "--follow-symlinks", action="store_true", \
+    dest="follow_symlinks", help="follow symlinks (please avoid symlink " + \
+    "loops when using this option!)")
 parser.add_option("-v", "--verbose", action="store_true", \
     dest="verbose", help="be verbose")
 parser.add_option("-V", "--more-verbose", action="store_true", \