From: Junio C Hamano Date: Fri, 28 Jun 2013 22:41:34 GMT Subject: Re: [PATCH] pull: require choice between rebase/merge on non-fast-forward pull Message-ID: <7vvc4xluxt.fsf@alter.siamese.dyndns.org> In-Reply-To: <20130628174252.GF2232@serenity.lan> John Keeping writes: >> Here, "git pull . branch1" is merely saying "I want to integrate >> the work on my current branch with that of branch1" without saying >> how that integration wants to happen. > > The change that I think is important is that the "bring my branch > up-to-date" operation should force the user to choose what to do if the > branch does not fast-forward to its upstream. If that was spelled "git > update" then having "git pull" perform a merge would be fine, but we > spell this operation as "git pull" so the change needs to happen there. I am not sure I quite get what you want to say with "git update", and I am not sure if I necessarily want to know---I do not think we would want to add yet another command that DWIMs for certain _I_, that may not match newbie expectations. > I don't think "git pull remote branch" falls into the same category as > plain "git pull" so I'm not convinced that defaulting to merge there is > unreasonable. The original message about this [1] did talk about only > "git pull" with no arguments. If you want to limit the scope to only "git pull" (without any command line argument), I actually do not have strong preference for or against it either way. Perhaps a follow-up patch to be squashed?