diff options
author | W. Trevor King <wking@drexel.edu> | 2008-11-13 14:31:49 -0500 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2008-11-13 14:31:49 -0500 |
commit | 49f81fa291ca925ec985dc52f51b9a37bb3106ee (patch) | |
tree | 48c14241eaf5211a4bb86eade1fe838aaab9edf8 /libbe/git.py | |
parent | 859d57514518e10f3648de2ab1896c689af88164 (diff) | |
download | bugseverywhere-49f81fa291ca925ec985dc52f51b9a37bb3106ee.tar.gz |
Fixed 0cad bug with smaller fix.
Hubert Chathi's fix was confusing for me, so I made a simpler change.
Seems to work so far. The problem was that
os.path.dirname('filename')
returns an empty string ('') if there are no directories in the
filename. So when `git rev-parse --git-dir` returned '.git', os
returned ''. Later programs didn't recognize '' as a valid directory
and crashed. My fix returns '.' in this case, so we don't crash,
and avoid having to use full paths. I'm not sure why I don't want
to use full paths; they just give me bad vibes...
Diffstat (limited to 'libbe/git.py')
-rw-r--r-- | libbe/git.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libbe/git.py b/libbe/git.py index 398585f..5c377fd 100644 --- a/libbe/git.py +++ b/libbe/git.py @@ -102,7 +102,10 @@ def git_repo_for_path(path): """Find the root of the deepest repository containing path.""" # Assume that nothing funny is going on; in particular, that we aren't # dealing with a bare repo. - return os.path.dirname(git_dir_for_path(path)) + dirname = os.path.dirname(git_dir_for_path(path)) + if dirname == '' : # os.path.dirname('filename') == '' + dirname = '.' + return dirname def git_dir_for_path(path): """Find the git-dir of the deepest repo containing path.""" |