mercurial/copies.py
changeset 24185 3a3806fe3ddf
parent 24184 cd66080ef6d4
child 24186 61aadba2396e
equal deleted inserted replaced
24184:cd66080ef6d4 24185:3a3806fe3ddf
     5 # This software may be used and distributed according to the terms of the
     5 # This software may be used and distributed according to the terms of the
     6 # GNU General Public License version 2 or any later version.
     6 # GNU General Public License version 2 or any later version.
     7 
     7 
     8 import util
     8 import util
     9 import heapq
     9 import heapq
    10 
       
    11 def _nonoverlap(d1, d2, d3):
       
    12     "Return list of elements in d1 not in d2 or d3"
       
    13     return sorted([d for d in d1 if d not in d3 and d not in d2])
       
    14 
    10 
    15 def _dirname(f):
    11 def _dirname(f):
    16     s = f.rfind("/")
    12     s = f.rfind("/")
    17     if s == -1:
    13     if s == -1:
    18         return ""
    14         return ""
   216 def _computenonoverlap(repo, m1, m2, ma):
   212 def _computenonoverlap(repo, m1, m2, ma):
   217     """Computes the files exclusive to m1 and m2.
   213     """Computes the files exclusive to m1 and m2.
   218     This is its own function so extensions can easily wrap this call to see what
   214     This is its own function so extensions can easily wrap this call to see what
   219     files mergecopies is about to process.
   215     files mergecopies is about to process.
   220     """
   216     """
   221     u1 = _nonoverlap(m1, m2, ma)
   217     addedinm1 = m1.filesnotin(ma)
   222     u2 = _nonoverlap(m2, m1, ma)
   218     addedinm2 = m2.filesnotin(ma)
       
   219     u1 = sorted(addedinm1 - addedinm2)
       
   220     u2 = sorted(addedinm2 - addedinm1)
   223 
   221 
   224     if u1:
   222     if u1:
   225         repo.ui.debug("  unmatched files in local:\n   %s\n"
   223         repo.ui.debug("  unmatched files in local:\n   %s\n"
   226                       % "\n   ".join(u1))
   224                       % "\n   ".join(u1))
   227     if u2:
   225     if u2: