mercurial/merge.py
changeset 5429 77cafe8f89e0
parent 5390 36c46e20976a
child 5441 f9c2917a9f7a
equal deleted inserted replaced
5428:eb1b6aaeb32e 5429:77cafe8f89e0
   178             ca = c.ancestor(c2)
   178             ca = c.ancestor(c2)
   179             if not ca: # unrelated?
   179             if not ca: # unrelated?
   180                 continue
   180                 continue
   181             # named changed on only one side?
   181             # named changed on only one side?
   182             if ca.path() == c.path() or ca.path() == c2.path():
   182             if ca.path() == c.path() or ca.path() == c2.path():
   183                 if c == ca or c2 == ca: # no merge needed, ignore copy
   183                 if c == ca and c2 == ca: # no merge needed, ignore copy
   184                     continue
   184                     continue
   185                 copy[c.path()] = of
   185                 copy[c.path()] = of
   186 
   186 
   187     if not repo.ui.configbool("merge", "followcopies", True):
   187     if not repo.ui.configbool("merge", "followcopies", True):
   188         return {}, {}
   188         return {}, {}
   278 
   278 
   279     return copy, diverge
   279     return copy, diverge
   280 
   280 
   281 def symmetricdifference(repo, rev1, rev2):
   281 def symmetricdifference(repo, rev1, rev2):
   282     """symmetric difference of the sets of ancestors of rev1 and rev2
   282     """symmetric difference of the sets of ancestors of rev1 and rev2
   283     
   283 
   284     I.e. revisions that are ancestors of rev1 or rev2, but not both.
   284     I.e. revisions that are ancestors of rev1 or rev2, but not both.
   285     """
   285     """
   286     # basic idea:
   286     # basic idea:
   287     # - mark rev1 and rev2 with different colors
   287     # - mark rev1 and rev2 with different colors
   288     # - walk the graph in topological order with the help of a heap;
   288     # - walk the graph in topological order with the help of a heap;