diff options
| -rw-r--r-- | git_command.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/git_command.py b/git_command.py index 56e18e02..01b9ecb3 100644 --- a/git_command.py +++ b/git_command.py | |||
| @@ -207,10 +207,12 @@ class GitCommand(object): | |||
| 207 | if objdir: | 207 | if objdir: |
| 208 | # Set to the place we want to save the objects. | 208 | # Set to the place we want to save the objects. |
| 209 | env['GIT_OBJECT_DIRECTORY'] = objdir | 209 | env['GIT_OBJECT_DIRECTORY'] = objdir |
| 210 | if gitdir: | 210 | |
| 211 | alt_objects = os.path.join(gitdir, 'objects') if gitdir else None | ||
| 212 | if alt_objects and os.path.realpath(alt_objects) != os.path.realpath(objdir): | ||
| 211 | # Allow git to search the original place in case of local or unique refs | 213 | # Allow git to search the original place in case of local or unique refs |
| 212 | # that git will attempt to resolve even if we aren't fetching them. | 214 | # that git will attempt to resolve even if we aren't fetching them. |
| 213 | env['GIT_ALTERNATE_OBJECT_DIRECTORIES'] = gitdir + '/objects' | 215 | env['GIT_ALTERNATE_OBJECT_DIRECTORIES'] = alt_objects |
| 214 | 216 | ||
| 215 | command = [GIT] | 217 | command = [GIT] |
| 216 | if bare: | 218 | if bare: |
