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:
parent
d1d030e5ef
commit
abbce11791
1 changed files with 10 additions and 1 deletions
|
@ -95,10 +95,19 @@ def refresh_cache(app, infos):
|
|||
if os.path.exists(fetch_head) and now - os.path.getmtime(fetch_head) < 3600:
|
||||
return
|
||||
|
||||
branch=infos.get("branch", "master")
|
||||
branch = infos.get("branch", "master")
|
||||
|
||||
try:
|
||||
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("reset origin/%s --hard" % branch, in_folder=app_cache_folder(app))
|
||||
except:
|
||||
|
|
Loading…
Add table
Reference in a new issue