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 | |
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...
4 files changed, 27 insertions, 2 deletions
diff --git a/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/body b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/body new file mode 100644 index 0000000..c889a38 --- /dev/null +++ b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/body @@ -0,0 +1 @@ +Fixed with a simpler patch. diff --git a/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/values b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/values new file mode 100644 index 0000000..4a2e108 --- /dev/null +++ b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/comments/6a0080c4-d684-4c2c-afaa-c15cc43d68ad/values @@ -0,0 +1,21 @@ + + + +Content-type=text/plain + + + + + + +Date=Thu, 13 Nov 2008 19:31:04 +0000 + + + + + + +From=wking + + + diff --git a/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/values b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/values index 0ae08e0..970523c 100644 --- a/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/values +++ b/.be/bugs/0cad2ac6-76ef-4a88-abdf-b2e02de76f5c/values @@ -15,7 +15,7 @@ severity=minor -status=open +status=closed 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.""" |