From: Jeff King Date: Mon, 09 Sep 2013 20:53:49 GMT Subject: Re: [PATCH 0/3] Reject non-ff pulls by default Message-ID: <20130909205349.GA15506@sigill.intra.peff.net> In-Reply-To: On Mon, Sep 09, 2013 at 10:50:31PM +0200, Matthieu Moy wrote: > John Keeping writes: > > > I think we need to make sure that we give instructions for how to go > > back if the default hasn't done what you wanted. Something like this: > > > > Your pull did not fast-forward, so Git has merged '$upstream' into > > your branch, which may not be correct for your project. If you > > would rather rebase your changes, run > > > > git rebase > > > > See "pull.mode" in git-config(1) to suppress this message in the > > future. > > Sounds good to me. One option is to display the warning on the > command-line, and another option is to show it in COMMIT_EDITMSG (since > we now default to showing it even for non-conflicted merges). I hadn't though of that, but showing it in COMMIT_EDITMSG is a great moment, because you are notifying the user _before_ they create a merge commit. So the backout/switch procedure is "cancel this by giving an empty message, then re-run git pull --rebase". On the other hand, if we run into conflicts, you'd probably want to let them know before asking them to resolve them all. So perhaps a separate message would be needed for that case (to suggest "reset --merge && git pull --rebase"). -Peff