Procházet zdrojové kódy

Delete empty parent subdirs after deleting obsolete paths.

After sync, we delete obsolete project paths.
Iterate and delete parent subdirs which are empty.
Tested on projects within subdirectories.
Jaikumar Ganesh před 17 roky
rodič
revize
8135cdc53c
1 změnil soubory, kde provedl 8 přidání a 0 odebrání
  1. 8 0
      subcmds/sync.py

+ 8 - 0
subcmds/sync.py

@@ -154,6 +154,14 @@ uncommitted changes are present' % project.relpath
           else:
           else:
             print >>sys.stderr, 'Deleting obsolete path %s' % project.worktree
             print >>sys.stderr, 'Deleting obsolete path %s' % project.worktree
             shutil.rmtree(project.worktree)
             shutil.rmtree(project.worktree)
+            # Try deleting parent subdirs if they are empty
+            dir = os.path.dirname(project.worktree)
+            while dir != self.manifest.topdir:
+              try:
+                os.rmdir(dir)
+              except OSError:
+                break
+              dir = os.path.dirname(dir)
 
 
     fd = open(file_path, 'w')
     fd = open(file_path, 'w')
     try:
     try: