diff options
author | Jaikumar Ganesh <jaikumar@google.com> | 2009-06-02 15:07:44 -0700 |
---|---|---|
committer | Jaikumar Ganesh <jaikumar@google.com> | 2009-06-02 15:08:45 -0700 |
commit | 8135cdc53c8737c242a5ba122491c9308a3407d8 (patch) | |
tree | 06242ed7759f379e1836598a15cf2fcc91938daf /subcmds/sync.py | |
parent | 4f2517ff1174cd485f0ac93705b0fa9348595f6f (diff) | |
download | git-repo-8135cdc53c8737c242a5ba122491c9308a3407d8.tar.gz |
Delete empty parent subdirs after deleting obsolete paths.v1.6.8
After sync, we delete obsolete project paths.
Iterate and delete parent subdirs which are empty.
Tested on projects within subdirectories.
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r-- | subcmds/sync.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index d431c02e..ecb89a10 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
@@ -154,6 +154,14 @@ uncommitted changes are present' % project.relpath | |||
154 | else: | 154 | else: |
155 | print >>sys.stderr, 'Deleting obsolete path %s' % project.worktree | 155 | print >>sys.stderr, 'Deleting obsolete path %s' % project.worktree |
156 | shutil.rmtree(project.worktree) | 156 | shutil.rmtree(project.worktree) |
157 | # Try deleting parent subdirs if they are empty | ||
158 | dir = os.path.dirname(project.worktree) | ||
159 | while dir != self.manifest.topdir: | ||
160 | try: | ||
161 | os.rmdir(dir) | ||
162 | except OSError: | ||
163 | break | ||
164 | dir = os.path.dirname(dir) | ||
157 | 165 | ||
158 | fd = open(file_path, 'w') | 166 | fd = open(file_path, 'w') |
159 | try: | 167 | try: |