aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/storage/vcs/monotone.py
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2010-06-27 10:47:11 -0400
committerW. Trevor King <wking@drexel.edu>2010-06-27 10:47:11 -0400
commitd661ec949cd97def3e33af1db98bd33ceb0e1acc (patch)
tree081ffdc7e54c0e41d23a4e1d900e56ff5e884a6d /libbe/storage/vcs/monotone.py
parent4ffb44509a92d8c7ea3d262923d598e86e501da0 (diff)
downloadbugseverywhere-d661ec949cd97def3e33af1db98bd33ceb0e1acc.tar.gz
Ah, restored altered dirname code to Monotone's root method.
The previous implementation used cwd=path which would fail for non-directory paths. The implementation before that was missing the not from if not os.path.isdir(path): dirname = os.path.dirname(path) which meant it found the dirname when it didn't need to, and not when it did ;).
Diffstat (limited to 'libbe/storage/vcs/monotone.py')
-rw-r--r--libbe/storage/vcs/monotone.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/libbe/storage/vcs/monotone.py b/libbe/storage/vcs/monotone.py
index d95cb72..1e15aa4 100644
--- a/libbe/storage/vcs/monotone.py
+++ b/libbe/storage/vcs/monotone.py
@@ -132,8 +132,12 @@ class Monotone (base.VCS):
def _vcs_root(self, path):
"""Find the root of the deepest repository containing path."""
if self.version_cmp(8, 0) >= 0:
+ if not os.path.isdir(path):
+ dirname = os.path.dirname(path)
+ else:
+ dirname = path
status,output,error = self._invoke_client(
- 'automate', 'get_workspace_root', cwd=path)
+ 'automate', 'get_workspace_root', cwd=dirname)
else:
mtn_dir = self._u_search_parent_directories(path, '_MTN')
if mtn_dir == None: