diff options
author | W. Trevor King <wking@drexel.edu> | 2010-06-22 13:41:52 -0400 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2010-06-22 13:41:52 -0400 |
commit | 838c954fefca893ba284d4945c8beb9a969b2ebb (patch) | |
tree | b9a9662489267d13932e1490b6a3a1b883d75e8b | |
parent | f72b6c9ed5588a87d5d2c6b28d0ba68a09ac2cea (diff) | |
parent | 0b8658523a1ce8d9380540010335ab1b829342f7 (diff) | |
download | bugseverywhere-838c954fefca893ba284d4945c8beb9a969b2ebb.tar.gz |
Merged Darcs fixes
-rw-r--r-- | libbe/storage/vcs/darcs.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libbe/storage/vcs/darcs.py b/libbe/storage/vcs/darcs.py index 0f23278..b0e5705 100644 --- a/libbe/storage/vcs/darcs.py +++ b/libbe/storage/vcs/darcs.py @@ -112,13 +112,15 @@ class Darcs(base.VCS): def _vcs_get_user_id(self): # following http://darcs.net/manual/node4.html#SECTION00410030000000000000 - # as of June 29th, 2009 + # as of June 22th, 2010 if self.repo == None: return None - darcs_dir = os.path.join(self.repo, '_darcs') - if darcs_dir != None: - for pref_file in ['author', 'email']: - pref_path = os.path.join(darcs_dir, 'prefs', pref_file) + for pref_file in ['author', 'email']: + for prefs_dir in [os.path.join(self.repo, '_darcs', 'prefs'), + os.path.expanduser(os.path.join('~', '.darcs'))]: + if prefs_dir == None: + continue + pref_path = os.path.join(prefs_dir, pref_file) if os.path.exists(pref_path): return self._vcs_get_file_contents(pref_path).strip() for env_variable in ['DARCS_EMAIL', 'EMAIL']: @@ -153,7 +155,10 @@ class Darcs(base.VCS): def _vcs_add(self, path): if os.path.isdir(path): return - self._u_invoke_client('add', path) + if self.version_cmp(0, 9, 10) == 1: + self._u_invoke_client('add', '--boring', path) + else: # really old versions <= 0.9.10 lack --boring + self._u_invoke_client('add', path) def _vcs_remove(self, path): if not os.path.isdir(self._u_abspath(path)): |