From cf631b0c9dc0158a126ef201a309042c14beeee6 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 7 Oct 2015 21:22:46 +0100 Subject: [PATCH] git-branchmove: new script, still work in progress --- scripts/git-branchmove | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/scripts/git-branchmove b/scripts/git-branchmove index 029992d..e68c474 100755 --- a/scripts/git-branchmove +++ b/scripts/git-branchmove @@ -61,7 +61,7 @@ get) src_path="$remote_path" dst_rune="sh -c" dst_path=. - msg="git-branchmove: moved to $remote ($remoteurl)" ;; + updatemsg="git-branchmove: moved to $remote ($remoteurl)" push_fetch=fetch ;; put) @@ -69,7 +69,7 @@ put) dst_path="$remote_path" src_rune="sh -c" src_path=. - msg="git-branchmove; moved to `hostname -f` by `whoami`" ;; + updatemsg="git-branchmove; moved to `hostname -f` by `whoami`" push_fetch=push ;; esac @@ -116,6 +116,12 @@ H) ;; # already detached ;; esac + +if [ "${#src_branches[@]}" = 0 ]; then + echo >&2 "git-branchmove: nothing to do" + exit 1 +fi + dst_branches=( $(on_dst "$get_branches_rune") ) : "${dst_branches[@]}" @@ -157,16 +163,16 @@ esac #----- delete the refs on the source ----- ( - printf "%s\n" "$message" + printf "%s\n" "$updatemsg" for src_rm in "${src_branches[@]}"; do printf "%s\n" "$src_rm"; done ) | on_src ' - read message + read updatemsg while read src_rm; do src_ref="${src_rm%=*}" src_obj="${src_rm##*=}" - git update-ref -m "$message" -d "$src_ref" "$src_obj" + git update-ref -m "$updatemsg" -d "$src_ref" "$src_obj" echo "move complete: $src_ref" done ' -echo 'moved ${#src_branches[@]} branches.' +echo "moved ${#src_branches[@]} branches." -- 2.30.2