zobi
This commit is contained in:
43
fetch-all.sh
Executable file
43
fetch-all.sh
Executable file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
origin=origin
|
||||||
|
|
||||||
|
declare -a remotes local
|
||||||
|
|
||||||
|
readarray -t remotes < <(git remote)
|
||||||
|
declare -A aremotes alocal_b
|
||||||
|
|
||||||
|
# fetch all remotes
|
||||||
|
for remote in "${remotes[@]}"; do
|
||||||
|
aremotes["$remote"]=1
|
||||||
|
echo doing git fetch -a "$remote"
|
||||||
|
done
|
||||||
|
|
||||||
|
# get local branches
|
||||||
|
readarray -t local_b < <(git for-each-ref --format='%(refname:short)' refs/heads/)
|
||||||
|
|
||||||
|
# build local ref array
|
||||||
|
for ref in "${local_b[@]}"; do
|
||||||
|
alocal_b[$ref]=1
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
readarray -t orig_b < <(git for-each-ref --format='%(refname:short)' \
|
||||||
|
refs/remotes/"$origin"/)
|
||||||
|
|
||||||
|
declare -p remotes
|
||||||
|
#declare -p aremotes
|
||||||
|
declare -p local_b orig_b
|
||||||
|
|
||||||
|
# find-out missing local branches
|
||||||
|
for remote_b in "${orig_b[@]}"; do
|
||||||
|
short=${remote_b#"$origin"/};
|
||||||
|
echo "$remote_b -> $short ${alocal_b[$short]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#git remote | xargs -n 1 git fetch -a
|
Reference in New Issue
Block a user