From: Junio C Hamano Date: Tue, 10 Dec 2013 19:34:06 GMT Subject: Re: Unexpected cherry-pick behaviour Message-ID: In-Reply-To: <118044938ad8ebf6b069bcc1d220a986@matos-sorge.com> Paulo Matos writes: > Note how there are changes that are not part of the cherry-picked > patch outside of the conflicting zone. This is trouble some because it > means that when I go in to fix a patch and look only at the > conflicting zone, I will have code outside the zone, that are _not_ > part of the patch modified as well. My suspicion (I am too lazy to try it myself ;-) is that your addition of a line "myport_hook()" was done to a section of code that was modified between the original you added the line to and the target you are trying to cherry-pick your change (that will inevitably cause conflicts and you cannot avoid that), and the post-processing done to make the three-way merge result more readable are ejecting common changes out of the conflicted region. Perhaps immediately after "cherry-pick" stopped and asked your help to resolve the conflicts, running $ git checkout --conflicts=diff3 gcc/tree-ssa-threadedge.c and looking at the file again may show you what is going on better.