Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork966
Closed
Milestone
Description
When using GIT_OBJECT_DIRECTORY to store git objects, a statement like
git.Repo('someproject') fails. This is due to is_git_dir() in git/repo/fun.py making an assumption that there will be a objects directory under .git which isn't the case when GIT_OBJECT_DIRECTORY is defined and being used.
A fix like the attached patch should solve the problem, though there might be more fixes needed in other places. This fix alone solves my particular workflow for now.
diff --git a/git/repo/fun.py b/git/repo/fun.pyindex 784a70bf3..e3a7bc57a 100644--- a/git/repo/fun.py+++ b/git/repo/fun.py@@ -35,7 +35,8 @@ def is_git_dir(d): There is the unlikely danger to throw if we see directories which just look like a worktree dir, but are none.""" if osp.isdir(d):- if osp.isdir(osp.join(d, 'objects')) and osp.isdir(osp.join(d, 'refs')):+ if (osp.isdir(osp.join(d, 'objects')) or os.environ.has_key('GIT_OBJECT_DIRECTORY')) \+ and osp.isdir(osp.join(d, 'refs')): headref = osp.join(d, 'HEAD') return osp.isfile(headref) or \ (osp.islink(headref) andMetadata
Metadata
Assignees
Labels
No labels