hgext/qsync.py
branchstable
changeset 395 822e5305e377
parent 394 f2168d0b5700
child 491 6989d8fe4ed2
equal deleted inserted replaced
376:188afb394e10 395:822e5305e377
    84             except IOError:
    84             except IOError:
    85                 oldnode = oldfiles[patch_name]
    85                 oldnode = oldfiles[patch_name]
    86                 obsolete = extensions.find('obsolete')
    86                 obsolete = extensions.find('obsolete')
    87                 newnodes = obsolete.newerversion(repo, oldnode)
    87                 newnodes = obsolete.newerversion(repo, oldnode)
    88                 if newnodes:
    88                 if newnodes:
    89                     newnodes = [n for n in newnodes if n] # remove killing
    89                     newnodes = [n for n in newnodes if n and n[0] in repo] # remove killing
    90                 if not newnodes:
    90                 if not newnodes:
    91                     # changeset has been killed (eg. reject)
    91                     # changeset has been killed (eg. reject)
    92                     pass
    92                     pass
    93                 else:
    93                 else:
    94                     assert len(newnodes) == 1 # conflict!!!
    94                     assert len(newnodes) == 1 # conflict!!!
   173         usedold.add(oldhex)
   173         usedold.add(oldhex)
   174         oldname = str(oldname)
   174         oldname = str(oldname)
   175         oldnode = bin(oldhex)
   175         oldnode = bin(oldhex)
   176         newnodes = obsolete.newerversion(repo, oldnode)
   176         newnodes = obsolete.newerversion(repo, oldnode)
   177         if newnodes:
   177         if newnodes:
   178             newnodes = [n for n in newnodes if n] # remove killing
   178             newnodes = [n for n in newnodes if n and n[0] in repo] # remove killing
   179             if len(newnodes) > 1:
   179             if len(newnodes) > 1:
   180                 newnodes = [short(nodes[0]) for nodes in newnodes]
   180                 newnodes = [short(nodes[0]) for nodes in newnodes]
   181                 raise util.Abort('%s have more than one newer version: %s'% (oldname, newnodes))
   181                 raise util.Abort('%s have more than one newer version: %s'% (oldname, newnodes))
   182             if newnodes:
   182             if newnodes:
   183                 # else, changeset have been killed
   183                 # else, changeset have been killed