mercurial/phases.py
changeset 45550 29a259be6424
parent 45372 77b8588dd84e
child 45789 09735cde6275
equal deleted inserted replaced
45549:e9468f14379a 45550:29a259be6424
   280     high = len(data)
   280     high = len(data)
   281     t = (old, new)
   281     t = (old, new)
   282     while low < high:
   282     while low < high:
   283         mid = (low + high) // 2
   283         mid = (low + high) // 2
   284         revs = data[mid][0]
   284         revs = data[mid][0]
   285 
   285         revs_low = revs[0]
   286         if rev in revs:
   286         revs_high = revs[-1]
       
   287 
       
   288         if rev >= revs_low and rev <= revs_high:
   287             _sortedrange_split(data, mid, rev, t)
   289             _sortedrange_split(data, mid, rev, t)
   288             return
   290             return
   289 
   291 
   290         if revs[0] == rev + 1:
   292         if revs_low == rev + 1:
   291             if mid and data[mid - 1][0][-1] == rev:
   293             if mid and data[mid - 1][0][-1] == rev:
   292                 _sortedrange_split(data, mid - 1, rev, t)
   294                 _sortedrange_split(data, mid - 1, rev, t)
   293             else:
   295             else:
   294                 _sortedrange_insert(data, mid, rev, t)
   296                 _sortedrange_insert(data, mid, rev, t)
   295             return
   297             return
   296 
   298 
   297         if revs[-1] == rev - 1:
   299         if revs_high == rev - 1:
   298             if mid + 1 < len(data) and data[mid + 1][0][0] == rev:
   300             if mid + 1 < len(data) and data[mid + 1][0][0] == rev:
   299                 _sortedrange_split(data, mid + 1, rev, t)
   301                 _sortedrange_split(data, mid + 1, rev, t)
   300             else:
   302             else:
   301                 _sortedrange_insert(data, mid + 1, rev, t)
   303                 _sortedrange_insert(data, mid + 1, rev, t)
   302             return
   304             return
   303 
   305 
   304         if revs[0] > rev:
   306         if revs_low > rev:
   305             high = mid
   307             high = mid
   306         else:
   308         else:
   307             low = mid + 1
   309             low = mid + 1
   308 
   310 
   309     if low == len(data):
   311     if low == len(data):