On Thu, Dec 01, 2011 at 05:36:00PM +0200, Catalin(ux) M. BOIE wrote: > Below is a script that reproduce what a coleague of mine found. > Seems that if in a branch we have a commit that is cherry-picked be > master, than revert that commit in branch and merge branch in master, > the revert is ignored. Is it normal? Yes, it's by design. When doing a merge, we look at three points: the tip of the current branch, the tip of the branch to be merged, and the point at which history diverged (the "merge base"). We don't look individually at the commits that happened between the merge base and each tip. The non-conflicting case for a 3-way merge is that one side makes some change, but the other side does nothing. In this case, we include the change in the merge result. But remember that we are only looking at endpoints. So what the actual merge code sees is that one side's version of a file is identical to the merge base's version, and that the other side's version is now different. In your case, one side makes the change, but then restores the original state. So from the perspective of the merge code, no change happened at all on that side. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html