CG Posted September 4, 2009 Report Share Posted September 4, 2009 When performing a merge from a branch, the "Search merges" returns a list of items needing to be merged. Quite often I have large numbers of items diplaying with a conflict of "Merge" and a contributors value of "None". I have no idea why this happens or how to prevent it. It also slows down the search merges function slightly. If I perform the merge on these files, they all get checked out in the destination branch. Upon checking in, they are all identical, so I can either force a check-in of the identical unchanged file, or uncheckout. If I uncheckout, then the problem happens again the next time I need to integrate. If I force checkin, the problem goes away (at least on this branch for those particular items). However, if I need to integrate back into the branch I came out of or into a parent branch, the issue happens again. It gets particularly annoying when I have several children to integrate into a parent, and then push the changes back out to to the children. Each way (into and then back out) causes the problem to reappear. If I just always go one way (child to parent) the issue is resolved with the first force checkin. But once I go from one branch to another, if I need to go back the other way, the problem keeps happening. Can anyone tell me why this happens? Why would something need to be integrated if it doesn't have any changes on the source or the destination (i.e. no contributors)? And how do I keep this from happening? Link to comment Share on other sites More sharing options...
Borja Posted September 23, 2009 Report Share Posted September 23, 2009 The contributors "None" implies that source and destination have the same content than the common ancestor. This case may happen on different situations, such as: * You make a co on a branch and a ci forced, after that you merge the branch. In this case, the destination and the ancestor are the same revision, whereas the source and the ancestor has the same content because of ci forced. * You make a change on a branch and confirm it, after that you make another change to leave it with the same content of the beginning. In this case the destination and the ancestor are the same revision, whereas the source and the ancestor has the same content because you left the same content on it. There are other more complex situations where it can also happen, but at the end they can be reduced to these two cases. We are studding to change this behavior on next releases, to remove this kind of merge conflicts. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.