mercurial/merge.py
changeset 5440 f9b0e4f023c4
parent 5149 ad6b97132b81
child 5441 f9c2917a9f7a
equal deleted inserted replaced
5361:8ab7de07f40e 5440:f9b0e4f023c4
   175             ca = c.ancestor(c2)
   175             ca = c.ancestor(c2)
   176             if not ca: # unrelated?
   176             if not ca: # unrelated?
   177                 continue
   177                 continue
   178             # named changed on only one side?
   178             # named changed on only one side?
   179             if ca.path() == c.path() or ca.path() == c2.path():
   179             if ca.path() == c.path() or ca.path() == c2.path():
   180                 if c == ca or c2 == ca: # no merge needed, ignore copy
   180                 if c == ca and c2 == ca: # no merge needed, ignore copy
   181                     continue
   181                     continue
   182                 copy[c.path()] = of
   182                 copy[c.path()] = of
   183 
   183 
   184     if not repo.ui.configbool("merge", "followcopies", True):
   184     if not repo.ui.configbool("merge", "followcopies", True):
   185         return {}, {}
   185         return {}, {}
   252 
   252 
   253     return copy, diverge
   253     return copy, diverge
   254 
   254 
   255 def symmetricdifference(repo, rev1, rev2):
   255 def symmetricdifference(repo, rev1, rev2):
   256     """symmetric difference of the sets of ancestors of rev1 and rev2
   256     """symmetric difference of the sets of ancestors of rev1 and rev2
   257     
   257 
   258     I.e. revisions that are ancestors of rev1 or rev2, but not both.
   258     I.e. revisions that are ancestors of rev1 or rev2, but not both.
   259     """
   259     """
   260     # basic idea:
   260     # basic idea:
   261     # - mark rev1 and rev2 with different colors
   261     # - mark rev1 and rev2 with different colors
   262     # - walk the graph in topological order with the help of a heap;
   262     # - walk the graph in topological order with the help of a heap;