mercurial/commands.py
changeset 18882 ce8c169a0dec
parent 18881 177774e4b04a
child 18892 46c0ca1ef7e1
equal deleted inserted replaced
18881:177774e4b04a 18882:ce8c169a0dec
  2935         if n:
  2935         if n:
  2936             ids[n] = ctx.rev()
  2936             ids[n] = ctx.rev()
  2937 
  2937 
  2938     # check ancestors for earlier grafts
  2938     # check ancestors for earlier grafts
  2939     ui.debug('scanning for duplicate grafts\n')
  2939     ui.debug('scanning for duplicate grafts\n')
  2940     for ctx in repo.set("::. - ::%ld", revs):
  2940 
       
  2941     for rev in repo.changelog.findmissingrevs(revs, [crev]):
       
  2942         ctx = repo[rev]
  2941         n = ctx.extra().get('source')
  2943         n = ctx.extra().get('source')
  2942         if n in ids:
  2944         if n in ids:
  2943             r = repo[n].rev()
  2945             r = repo[n].rev()
  2944             if r in revs:
  2946             if r in revs:
  2945                 ui.warn(_('skipping already grafted revision %s\n') % r)
  2947                 ui.warn(_('skipping already grafted revision %s\n') % r)
  2949                             '(same origin %d)\n') % (ids[n], r))
  2951                             '(same origin %d)\n') % (ids[n], r))
  2950                 revs.remove(ids[n])
  2952                 revs.remove(ids[n])
  2951         elif ctx.hex() in ids:
  2953         elif ctx.hex() in ids:
  2952             r = ids[ctx.hex()]
  2954             r = ids[ctx.hex()]
  2953             ui.warn(_('skipping already grafted revision %s '
  2955             ui.warn(_('skipping already grafted revision %s '
  2954                             '(was grafted from %d)\n') % (r, ctx.rev()))
  2956                             '(was grafted from %d)\n') % (r, rev))
  2955             revs.remove(r)
  2957             revs.remove(r)
  2956     if not revs:
  2958     if not revs:
  2957         return -1
  2959         return -1
  2958 
  2960 
  2959     wlock = repo.wlock()
  2961     wlock = repo.wlock()