Say myfile been changed in two repositories (A and B). In A, we do hg pull ../B , which receives these changes:
A1 - A2 - A3 - A4 - A5 \ B3 - B4
Since we have two heads (A5, B4), we do hg merge .
Now, if there are conflicts, Mercurial launches our Beyond Compare tool, and we get three types: left - local, center - parent, and right - "other". Given our structure, the left (local) will be A5, the center (parent) will be A2, and the right (other) will be B4?
Secondly, what exactly is the logic that Mercurial uses to determine if a merge is required? Does he see that there are two versions of myfile without any children? And how exactly does it determine that A2 is the parent?
source share