mercurial/commands.py
branchstable
changeset 21200 a1381eea7c7d
parent 21174 7991df9d2f20
child 21237 0054a77f49df
child 21571 17da326fd041
equal deleted inserted replaced
21199:e9c2f76be74b 21200:a1381eea7c7d
  3108         return -1
  3108         return -1
  3109 
  3109 
  3110     # check for ancestors of dest branch
  3110     # check for ancestors of dest branch
  3111     crev = repo['.'].rev()
  3111     crev = repo['.'].rev()
  3112     ancestors = repo.changelog.ancestors([crev], inclusive=True)
  3112     ancestors = repo.changelog.ancestors([crev], inclusive=True)
       
  3113     # Cannot use x.remove(y) on smart set, this has to be a list.
       
  3114     # XXX make this lazy in the future
       
  3115     revs = list(revs)
  3113     # don't mutate while iterating, create a copy
  3116     # don't mutate while iterating, create a copy
  3114     for rev in list(revs):
  3117     for rev in list(revs):
  3115         if rev in ancestors:
  3118         if rev in ancestors:
  3116             ui.warn(_('skipping ancestor revision %s\n') % rev)
  3119             ui.warn(_('skipping ancestor revision %s\n') % rev)
       
  3120             # XXX remove on list is slow
  3117             revs.remove(rev)
  3121             revs.remove(rev)
  3118     if not revs:
  3122     if not revs:
  3119         return -1
  3123         return -1
  3120 
  3124 
  3121     # analyze revs for earlier grafts
  3125     # analyze revs for earlier grafts