1
0
Fork 0
mirror of https://github.com/YunoHost/apps.git synced 2024-09-03 20:06:07 +02:00

add branch when the needed one is not tracked

This commit is contained in:
Kay0u 2020-08-21 13:33:08 +02:00
parent d1d030e5ef
commit abbce11791
No known key found for this signature in database
GPG key ID: AE1DCADB6415A156

View file

@ -95,10 +95,19 @@ def refresh_cache(app, infos):
if os.path.exists(fetch_head) and now - os.path.getmtime(fetch_head) < 3600: if os.path.exists(fetch_head) and now - os.path.getmtime(fetch_head) < 3600:
return return
branch=infos.get("branch", "master") branch = infos.get("branch", "master")
try: try:
git("remote set-url origin " + infos["url"], in_folder=app_cache_folder(app)) git("remote set-url origin " + infos["url"], in_folder=app_cache_folder(app))
current_branch = git("branch --show-current", in_folder=app_cache_folder(app))
if current_branch != branch:
all_branches = git("branch --format=%(refname:short)", in_folder=app_cache_folder(app)).split()
if branch not in all_branches:
git("remote set-branches --add origin %s" % branch, in_folder=app_cache_folder(app))
git("fetch origin %s:%s" % (branch, branch), in_folder=app_cache_folder(app))
else:
git("checkout --force %s" % branch, in_folder=app_cache_folder(app))
git("fetch --quiet origin %s --force" % branch, in_folder=app_cache_folder(app)) git("fetch --quiet origin %s --force" % branch, in_folder=app_cache_folder(app))
git("reset origin/%s --hard" % branch, in_folder=app_cache_folder(app)) git("reset origin/%s --hard" % branch, in_folder=app_cache_folder(app))
except: except: