diff options
Diffstat (limited to 'git-fetch.sh')
-rwxr-xr-x | git-fetch.sh | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/git-fetch.sh b/git-fetch.sh index 466fe59e35..87b940b85b 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -5,12 +5,8 @@ USAGE='<fetch-options> <repository> <refspec>...' SUBDIRECTORY_OK=Yes . git-sh-setup set_reflog_action "fetch $*" +cd_to_toplevel ;# probably unnecessary... -TOP=$(git-rev-parse --show-cdup) -if test ! -z "$TOP" -then - cd "$TOP" -fi . git-parse-remote _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40" @@ -231,11 +227,12 @@ update_local_ref () { esac } -case "$update_head_ok" in -'') +# updating the current HEAD with git-fetch in a bare +# repository is always fine. +if test -z "$update_head_ok" && test $(is_bare_repository) = false +then orig_head=$(git-rev-parse --verify HEAD 2>/dev/null) - ;; -esac +fi # If --tags (and later --heads or --all) is specified, then we are # not talking about defaults stored in Pull: line of remotes or |