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

From: Andreas Schwab <[email-masked]>
Date: Thu, 18 Jul 2013 19:38:39 +0200

John Keeping <[email-masked]> writes:

> 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")

Neither makes sense.  You want to check the exit status of git
merge-base --is-ancestor, not execute its (empty) output as a command.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."