Subject: Re: [PATCH] pull: require choice between rebase/merge on non-fast-forward pull

From: John Keeping <[email-masked]>
Date: Thu, 18 Jul 2013 15:30:09 +0100

On Thu, Jun 27, 2013 at 12:48:52PM -0700, Junio C Hamano wrote:
> diff --git a/git-pull.sh b/git-pull.sh
> index 638aabb..4a6a863 100755
> --- a/git-pull.sh
> +++ b/git-pull.sh
> @@ -264,6 +274,30 @@ case "$merge_head" in
>  		die "$(gettext "Cannot rebase onto multiple branches")"
>  	fi
>  	;;
> +*)
> +	# integrating with a single other history
> +	merge_head=${merge_head% }
> +	if test -z "$rebase$no_ff$ff_only${squash#--no-squash}" &&
> +		test -n "$orig_head" &&
> +		! $(git merge-base --is-ancestor "$orig_head" "$merge_head")

I think this needs to be:

	! $(git merge-base --is-ancestor "$orig_head" "$merge_head" ||
	    git merge-base --is-ancestor "$merge_head" "$orig_head")

in order to avoid printing the message when "git pull" does not fetch
any new changes and the user has some new commits.