X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fgit-update.sh;h=7ec186b28b3a60d07edbab6074abdbe6d6e651c9;hb=a75ef58cc211e765f8dbfc56671c87e102f4c53d;hp=83080b965dfb42fb2a689bbc375537fb3ade1101;hpb=28f049c8e93c4a4f262bfebad4d8f61acc67b7f2;p=config%2Fdotfiles.git diff --git a/bin/git-update.sh b/bin/git-update.sh index 83080b9..7ec186b 100755 --- a/bin/git-update.sh +++ b/bin/git-update.sh @@ -3,22 +3,48 @@ # Push current commits to all remotes and fetch from all remotes. Then display # unmerged commits and changes in the repositories. # +# If --local is given as option, no fetching/pushing is performed. +# # If an argument is given cd to this directory before running the commands. # # Very useful to sync multiple remotes. +# Copyright (C) 2011-2012 Simon Ruderich +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +LOCAL= +if [ x$1 = x--local ];then + LOCAL=1 + shift +fi if [ x$1 != x ]; then echo $1 cd "$1" fi -# Get all remote changes. -git remote update 2>&1 | grep -v Fetching -# Push all local changes to remote(s). -for remote in `git remote`; do - git push $remote 2>&1 | grep -v 'Everything up-to-date' -done +if [ x$LOCAL = x ]; then + # Get all remote changes. + git remote update 2>&1 | grep -v Fetching + # Push all local changes to remote(s). + for remote in `git remote`; do + git push $remote 2>&1 | grep -v 'Everything up-to-date' + git push --tags $remote 2>&1 | grep -v 'Everything up-to-date' + done +fi # Show unmerged changes. git branch -rv --color --no-merged # Show uncommitted changes.