Merge pull request #832 from pre-commit/rev_parse_error_mode

Fix rev-parse for older git versions
This commit is contained in:
Anthony Sottile
2018-09-22 11:59:56 -07:00
committed by GitHub

View File

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