diff --git a/functions/__fisher_path_update.fish b/functions/__fisher_path_update.fish index f7a0e24..14b75f7 100644 --- a/functions/__fisher_path_update.fish +++ b/functions/__fisher_path_update.fish @@ -1,12 +1,19 @@ function __fisher_path_update -a path pushd $path - if not git pull --quiet --rebase origin master - git rebase --abort - git fetch --quiet origin master - git reset --quiet --hard FETCH_HEAD - git clean --quiet -dx --force - end ^ /dev/null + git fetch --quiet origin master ^ /dev/null + + set -l commits ( + git rev-list --left-right --count "master..FETCH_HEAD" ^ /dev/null | cut -d\t -f2) + + git reset --quiet --hard FETCH_HEAD + git clean -qdfx popd + + if test "$commits" -eq 0 -o -z "$commits" + return 1 + end + + printf "%s\n" "$commits" end