From 5813547dbcd190c6d7e69d61d3a15cd1e8805282 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Thu, 11 Sep 2014 12:18:03 -0400 Subject: re-point local tracking branches on 'asp update' This ensures that 'git pull' works in a checked-out repo after an update. https://bbs.archlinux.org/viewtopic.php?pid=1455457#p1455457 --- asp.in | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'asp.in') diff --git a/asp.in b/asp.in index 74165b3..b28b8fa 100644 --- a/asp.in +++ b/asp.in @@ -55,7 +55,17 @@ update_all() { done } -update_packages() { +update_local_branches() { + local r=0 + + while read -r branchname; do + git branch -qf "$branchname" "refs/remotes/$branchname" || r=1 + done < <(git branch) + + return "$r" +} + +update_remote_branches() { local refspecs=() remote pkgname declare -A refspec_map @@ -77,6 +87,10 @@ update_packages() { done } +update_packages() { + update_remote_branches "$@" && update_local_branches +} + migrate_bare_repo() { files=(branches hooks info objects logs refs config description {FETCH_,}HEAD) -- cgit v1.2.3-54-g00ecf