X-Git-Url: https://git.danieliu.xyz/?p=dotfiles.git;a=blobdiff_plain;f=Scripts%2Fgit-pushall;h=311da79f8d7a0f29c18f1012d6489f563817a61c;hp=9fd1967f3e71dd2619d36b04ab3f47058b7d2424;hb=bea758d3a4f0fe9ff27425b3a0444759ed049693;hpb=e5525db34feb526da67652250fed25bd9db2362f diff --git a/Scripts/git-pushall b/Scripts/git-pushall index 9fd1967..311da79 100755 --- a/Scripts/git-pushall +++ b/Scripts/git-pushall @@ -1,12 +1,24 @@ #!/bin/sh -# reads the config file and pushes to all the remotes +# you can pass in git parameters to this script too +# e.g +# git-pushall git --git-dir=$HOME/.dotfiles --work-tree=$HOME -config_path="$(git rev-parse --show-toplevel)/.git/config" 2>/dev/null +# cmd="$@" +# [ -z "$cmd" ] && cmd="git" +# config_path="$($cmd config --local -l)" 2>/dev/null +# [ ! "$?" = 0 ] && echo "Failed: not a git repo." && exit 1 + +# echo "$config_path" | grep '^remote.*.url=' |\ +# sed 's/^remote.*.url=//' |\ +# xargs printf "$cmd push %s master\n" |\ + +[ -z "$1" ] && echo "Please provide a branch to push to" && exit 1 + +config_path="$(git config --local -l)" 2>/dev/null [ ! "$?" = 0 ] && echo "Failed: not a git repo." && exit 1 -[ -z "$1" ] && echo "Failed: Please supply a branch to push to." && exit 1 -# look for all remotes -cat "$config_path" | sed '/^\[remote "/!d; s/^\[remote "//; s/"]$//' |\ +echo "$config_path" | grep '^remote.*.url=' |\ + sed 's/^remote.*.url=//' |\ xargs -I _ git push _ "$1"