hgext/evolve.py
changeset 1239 8a06b32061ce
parent 1235 ffa32ca659f1
child 1248 4279ec5ff3a7
equal deleted inserted replaced
1238:ee695c7d1bf1 1239:8a06b32061ce
  1830 
  1830 
  1831         relations = [(p, sucs) for p in precs]
  1831         relations = [(p, sucs) for p in precs]
  1832         if biject:
  1832         if biject:
  1833             relations = [(p, (s,)) for p, s in zip(precs, sucs)]
  1833             relations = [(p, (s,)) for p, s in zip(precs, sucs)]
  1834 
  1834 
  1835         # create markers
       
  1836         obsolete.createmarkers(repo, relations, metadata=metadata)
       
  1837 
       
  1838         # informs that changeset have been pruned
       
  1839         ui.status(_('%i changesets pruned\n') % len(precs))
       
  1840 
       
  1841         wdp = repo['.']
  1835         wdp = repo['.']
  1842 
  1836 
  1843         if len(sucs) == 1 and len(precs) == 1 and wdp in precs:
  1837         if len(sucs) == 1 and len(precs) == 1 and wdp in precs:
  1844             # '.' killed, so update to the successor
  1838             # '.' killed, so update to the successor
  1845             newnode = sucs[0]
  1839             newnode = sucs[0]
  1846         else:
  1840         else:
  1847             # update to an unkilled parent
  1841             # update to an unkilled parent
  1848             newnode = wdp
  1842             newnode = wdp
  1849 
  1843 
  1850             while newnode.obsolete():
  1844             while newnode in precs or newnode.obsolete():
  1851                 newnode = newnode.parents()[0]
  1845                 newnode = newnode.parents()[0]
       
  1846 
  1852 
  1847 
  1853         if newnode.node() != wdp.node():
  1848         if newnode.node() != wdp.node():
  1854             if opts.get('keep', False):
  1849             if opts.get('keep', False):
  1855                 # This is largely the same as the implementation in
  1850                 # This is largely the same as the implementation in
  1856                 # strip.stripcmd(). We might want to refactor this somewhere
  1851                 # strip.stripcmd(). We might want to refactor this somewhere
  1874                 commands.update(ui, repo, newnode.rev())
  1869                 commands.update(ui, repo, newnode.rev())
  1875                 ui.status(_('working directory now at %s\n') % newnode)
  1870                 ui.status(_('working directory now at %s\n') % newnode)
  1876         # update bookmarks
  1871         # update bookmarks
  1877         if bookmark:
  1872         if bookmark:
  1878             _deletebookmark(ui, marks, bookmark)
  1873             _deletebookmark(ui, marks, bookmark)
       
  1874 
       
  1875         # create markers
       
  1876         obsolete.createmarkers(repo, relations, metadata=metadata)
       
  1877         
       
  1878         # informs that changeset have been pruned
       
  1879         ui.status(_('%i changesets pruned\n') % len(precs))
       
  1880 
  1879         for ctx in repo.unfiltered().set('bookmark() and %ld', precs):
  1881         for ctx in repo.unfiltered().set('bookmark() and %ld', precs):
  1880             # used to be:
  1882             # used to be:
  1881             #
  1883             #
  1882             #   ldest = list(repo.set('max((::%d) - obsolete())', ctx))
  1884             #   ldest = list(repo.set('max((::%d) - obsolete())', ctx))
  1883             #   if ldest:
  1885             #   if ldest: