From: Avery Pennarun Date: Mon, 15 Sep 2008 23:53:07 GMT Subject: Re: [PATCH] Documentation: warn against merging in a dirty tree Message-ID: <32541b130809151653w27d7876fp35e0967d597ae2a9@mail.gmail.com> In-Reply-To: <7vtzch7z7u.fsf@gitster.siamese.dyndns.org> On Mon, Sep 15, 2008 at 7:42 PM, Junio C Hamano wrote: > Thomas Rast writes: > >> Merging in a dirty tree is usually a bad idea because you need to >> reset --hard to abort; but the docs didn't say anything about it. > > Strictly speaking, you do not have to worry about anything if (1) all of > your work tree changes are easily reproducible (Linus's keeping a new > EXTRAVERSION in his Makefile, never staged nor committed is an often cited > example), or (2) you know beforehand that a merge with the other party > will not touch the part you have local changes that you care about. > > In other words, you need to know what you are doing, and a warning with > "usually it is a bad idea" would be an appropriate thing to do. But how do you abort a *failed* merge in a situation like Linus's example? "git reset --hard HEAD" would destroy the unstaged Makefile change. I would love to know the answer to this for my own work, and I guess it would be relevant to the documentation too. Have fun, Avery