X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-pull.sh;h=1f4a05d09eed7a7ae6be9ce4dcdd92f4e0d75131;hb=bb8c91d617e8a2ab4a78712086d1574da6e24e68;hp=8cf39e7f6495925c9f9824ebea518810554ba12b;hpb=acfadcfb48e34fdc441e9cffbb385fce9693b363;p=git.git diff --git a/git-pull.sh b/git-pull.sh index 8cf39e7f..1f4a05d0 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -6,10 +6,10 @@ . git-sh-setup || die "Not a git archive" -orig_head=$(cat "$GIT_DIR/HEAD") || die "Pulling into a black hole?" +orig_head=$(git-rev-parse --verify HEAD) || die "Pulling into a black hole?" git-fetch --update-head-ok "$@" || exit 1 -curr_head=$(cat "$GIT_DIR/HEAD") +curr_head=$(git-rev-parse --verify HEAD) if test "$curr_head" != "$orig_head" then # The fetch involved updating the current branch. @@ -24,11 +24,9 @@ then die "You need to first update your working tree." fi -merge_head=$(sed -e 's/ .*//' "$GIT_DIR"/FETCH_HEAD | tr '\012' ' ') -merge_name=$( - perl -e 'print join("; ", map { chomp; s/^[0-9a-f]* //; $_ } <>)' \ - "$GIT_DIR"/FETCH_HEAD -) +merge_head=$(sed -e '/ not-for-merge /d' \ + -e 's/ .*//' "$GIT_DIR"/FETCH_HEAD | \ + tr '\012' ' ') case "$merge_head" in '') @@ -41,6 +39,5 @@ case "$merge_head" in ;; esac -git-resolve \ - "$(cat "$GIT_DIR"/HEAD)" \ - $merge_head "Merge $merge_name" +merge_name=$(git-fmt-merge-msg <"$GIT_DIR/FETCH_HEAD") +git-resolve "$curr_head" $merge_head "$merge_name"