mercurial/commands.py
changeset 18881 177774e4b04a
parent 18858 f02045645d12
child 18882 ce8c169a0dec
equal deleted inserted replaced
18878:3cfaace0441e 18881:177774e4b04a
  2915         revs.remove(rev)
  2915         revs.remove(rev)
  2916     if not revs:
  2916     if not revs:
  2917         return -1
  2917         return -1
  2918 
  2918 
  2919     # check for ancestors of dest branch
  2919     # check for ancestors of dest branch
  2920     for rev in repo.revs('::. and %ld', revs):
  2920     crev = repo['.'].rev()
  2921         ui.warn(_('skipping ancestor revision %s\n') % rev)
  2921     ancestors = repo.changelog.ancestors([crev], inclusive=True)
  2922         revs.remove(rev)
  2922     # don't mutate while iterating, create a copy
       
  2923     for rev in list(revs):
       
  2924         if rev in ancestors:
       
  2925             ui.warn(_('skipping ancestor revision %s\n') % rev)
       
  2926             revs.remove(rev)
  2923     if not revs:
  2927     if not revs:
  2924         return -1
  2928         return -1
  2925 
  2929 
  2926     # analyze revs for earlier grafts
  2930     # analyze revs for earlier grafts
  2927     ids = {}
  2931     ids = {}