Make autoupdate work for non-master default branches

This commit is contained in:
Anthony Sottile 2019-07-20 14:52:28 -07:00
parent 7769915a0b
commit 8be0f857e8
2 changed files with 9 additions and 3 deletions

View file

@ -38,9 +38,9 @@ def _update_repo(repo_config, store, tags_only):
""" """
with tmpdir() as repo_path: with tmpdir() as repo_path:
git.init_repo(repo_path, repo_config['repo']) git.init_repo(repo_path, repo_config['repo'])
cmd_output('git', 'fetch', cwd=repo_path) cmd_output('git', 'fetch', 'origin', 'HEAD', '--tags', cwd=repo_path)
tag_cmd = ('git', 'describe', 'origin/master', '--tags') tag_cmd = ('git', 'describe', 'FETCH_HEAD', '--tags')
if tags_only: if tags_only:
tag_cmd += ('--abbrev=0',) tag_cmd += ('--abbrev=0',)
else: else:
@ -48,7 +48,7 @@ def _update_repo(repo_config, store, tags_only):
try: try:
rev = cmd_output(*tag_cmd, cwd=repo_path)[1].strip() rev = cmd_output(*tag_cmd, cwd=repo_path)[1].strip()
except CalledProcessError: except CalledProcessError:
tag_cmd = ('git', 'rev-parse', 'origin/master') tag_cmd = ('git', 'rev-parse', 'FETCH_HEAD')
rev = cmd_output(*tag_cmd, cwd=repo_path)[1].strip() rev = cmd_output(*tag_cmd, cwd=repo_path)[1].strip()
# Don't bother trying to update if our rev is the same # Don't bother trying to update if our rev is the same

View file

@ -309,6 +309,12 @@ def test_autoupdate_hook_disappearing_repo(
assert before == after assert before == after
def test_autoupdate_non_master_default_branch(up_to_date_repo, store):
# change the default branch to be not-master
cmd_output('git', '-C', up_to_date_repo, 'branch', '-m', 'dev')
test_up_to_date_repo(up_to_date_repo, store)
def test_autoupdate_local_hooks(in_git_dir, store): def test_autoupdate_local_hooks(in_git_dir, store):
config = sample_local_config() config = sample_local_config()
add_config_to_repo('.', config) add_config_to_repo('.', config)