From: Peter Osterlund Date: Sun, 03 Jul 2005 12:38:55 GMT Subject: Re: Stacked GIT 0.3 (now more Quilt-like) Message-ID: In-Reply-To: <1120385280.6845.12.camel@localhost.localdomain> Catalin Marinas writes: > Hi Peter, > > Thanks for trying this tool. > > On Sun, 2005-07-03 at 10:38 +0200, Peter Osterlund wrote: > > This is good stuff and the 3-way merge really simplifies things. > > However, if there is a merge conflict, you will basically be stuck > > with a 2-way merge when resolving manually. It's usually much easier > > if you can see all three version, so I think it's better to use -A > > instead of -E in the diff3 command. > > I know that using -A gives a more detailed output in case of a conflict. > The problem is that you will get a conflict even if the changes are > identical, making it impossible to detect when a patch was merged > upstream. OK, I see. How about using wiggle instead? http://cgi.cse.unsw.edu.au/~neilb/source/wiggle/ That's what patch-utils uses if you run "pushpatch -m". wiggle is also a lot smarter than diff3, so there will be fewer cases that result in a conflict. Maybe a parameter to "stg push" could enable wiggle mode. Another nice thing from patch-utils is that if applying the patch would have failed, nothing will be done by "pushpatch". You then have the option to rerun it with -m (merge) or -f (force, create .rej files), or decide that you don't want to push the patch at all. The last part is quite useful if you try to reorder a patch series, find out that you would get a thousand conflicts, and want to reconsider. Is there a way in StGIT to undo a push that results in a large mess of conflicts? > Speaking of detecting upstream merges, the latest StGIT snapshot shows a > '0' in front of a patch if it is empty, when 'stg series' is invoked. > When pushing, if all the changes are the same, it notifies you that the > patch is empty so that it can be safely removed. That's a useful feature. With patch-utils, I used to drop patches manually, but that could lose information if the patch applied upstream is not exactly the same as the one I had locally. -- Peter Osterlund - petero2@telia.com http://web.telia.com/~u89404340