X-Git-Url: http://git.madism.org/?p=~madcoder%2Fdotfiles.git;a=blobdiff_plain;f=%2Bbin%2Fgit-up;h=282eb063c6d1174c1a43a06a26045bdfeb9481b7;hp=d9fc1cd2cc7ecc7b63391852160804d467afe95f;hb=69771cb02ae941706702f16a7f141a9f6dc7a7f4;hpb=64832b859e849d8c630b6f327aa88cc601eddd59 diff --git a/+bin/git-up b/+bin/git-up index d9fc1cd..282eb06 100755 --- a/+bin/git-up +++ b/+bin/git-up @@ -52,7 +52,10 @@ case $# in *) usage;; esac -git fetch "${remote}" +git remote update +if git config remote.mob.fetch >/dev/null 2>/dev/null; then + git remote prune mob +fi if test `git rev-list .."${remote}/${branch#refs/heads/}" -- | wc -l` = 0; then echo "Current branch $lbranch is up to date." exit 0 @@ -69,11 +72,14 @@ if test -z "$action"; then esac fi +no_changes () { + git diff-index --quiet --cached HEAD --ignore-submodules -- && + git diff-files --quiet --ignore-submodules +} + unclean= -git rev-parse --verify HEAD > /dev/null && \ - git update-index --refresh && \ - git diff-files --quiet && \ - git diff-index --cached --quiet HEAD -- || unclean=t +no_changes || unclean=t + case "$action" in rebase) @@ -96,6 +102,6 @@ if test -n "$unclean"; then echo "" echo "run 'git stash apply' when rebase is finished" else - git stash apply + git stash pop fi fi