aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/storage/vcs
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2010-01-18 09:26:53 -0500
committerW. Trevor King <wking@drexel.edu>2010-01-18 09:26:53 -0500
commitba583f2af95291bf210da819978810dbbb9bfb56 (patch)
treeb27e68f12435b75308478611f92930873bfb08c9 /libbe/storage/vcs
parent9fd1decbc4631a8d4d3fcbfde11358ec215be162 (diff)
downloadbugseverywhere-ba583f2af95291bf210da819978810dbbb9bfb56.tar.gz
Ignore paths with _u_path_to_id errors in VCS.changed
Diffstat (limited to 'libbe/storage/vcs')
-rw-r--r--libbe/storage/vcs/base.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/libbe/storage/vcs/base.py b/libbe/storage/vcs/base.py
index e837780..1719f06 100644
--- a/libbe/storage/vcs/base.py
+++ b/libbe/storage/vcs/base.py
@@ -363,7 +363,7 @@ class VCS (libbe.storage.base.VersionedStorage):
BugDir to search for an installed Storage backend and initialize
it in the root directory. This is a convenience option for
supporting tests of versioning functionality
- (e.g. .duplicate_bugdir).
+ (e.g. RevisionedBugDir).
Disable encoding manipulation
=============================
@@ -849,10 +849,17 @@ os.listdir(self.get_path("bugs")):
def changed(self, revision):
new,mod,rem = self._vcs_changed(revision)
- new = [self._u_path_to_id(p) for p in new]
- mod = [self._u_path_to_id(p) for p in mod]
- rem = [self._u_path_to_id(p) for p in rem]
- return (new, mod, rem)
+ def paths_to_ids(paths):
+ for p in paths:
+ try:
+ id = self._u_path_to_id(p)
+ yield id
+ except (SpacerCollision, InvalidPath):
+ pass
+ new_id = list(paths_to_ids(new))
+ mod_id = list(paths_to_ids(mod))
+ rem_id = list(paths_to_ids(rem))
+ return (new_id, mod_id, rem_id)
def _u_any_in_string(self, list, string):
"""