Fix default branch detection

This commit is contained in:
rubenwardy 2021-01-29 17:17:51 +00:00
parent e8dca43f44
commit b613ac4b89
2 changed files with 13 additions and 15 deletions

@ -1,5 +1,5 @@
# ContentDB
# Copyright (C) 2018 rubenwardy
# Copyright (C) 2018-21 rubenwardy
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -88,22 +88,20 @@ def clone_repo(urlstr, ref=None, recursive=False):
.strip())
def get_commit_hash(urlstr, ref_name=None):
gitDir = os.path.join(tempfile.gettempdir(), randomString(10))
gitUrl = generateGitURL(urlstr)
assert ref_name != ""
repo = git.Repo.init(gitDir)
origin: git.Remote = repo.create_remote("origin", url=gitUrl)
assert origin.exists()
origin.fetch()
def get_commit_hash(git_url, ref_name=None):
if ref_name:
ref: git.Reference = origin.refs[ref_name]
ref_name = "refs/heads/" + ref_name
else:
ref: git.Reference = origin.refs[0]
ref_name = "HEAD"
return ref.commit.hexsha
g = git.cmd.Git()
remote_refs = {}
for ref in g.ls_remote(git_url).split('\n'):
hash_ref_list = ref.split('\t')
remote_refs[hash_ref_list[1]] = hash_ref_list[0]
return remote_refs.get(ref_name)
@celery.task()

@ -31,7 +31,7 @@ future==0.18.2
git-archive-all==1.21.0
gitdb==4.0.5
GitHub-Flask==3.2.0
GitPython==3.1.7
GitPython==3.1.9
gunicorn==20.0.4
idna==2.10
importlib-metadata==1.7.0