Fix rev-parse for older git versions

This commit is contained in:
Anthony Sottile 2018-09-22 08:53:52 -07:00
parent 4b0a22a8ba
commit 18b6f4b519

View file

@ -31,16 +31,13 @@ def get_root():
def get_git_dir(git_root): def get_git_dir(git_root):
def _git_dir(opt): opts = ('--git-common-dir', '--git-dir')
return os.path.normpath(os.path.join( _, out, _ = cmd_output('git', 'rev-parse', *opts, cwd=git_root)
git_root, for line, opt in zip(out.splitlines(), opts):
cmd_output('git', 'rev-parse', opt, cwd=git_root)[1].strip(), if line != opt: # pragma: no branch (git < 2.5)
)) return os.path.normpath(os.path.join(git_root, line))
else:
try: raise AssertionError('unreachable: no git dir')
return _git_dir('--git-common-dir')
except CalledProcessError: # pragma: no cover (git < 2.5)
return _git_dir('--git-dir')
def get_remote_url(git_root): def get_remote_url(git_root):