mercurial/commands.py
branchstable
changeset 44906 e5043679bfcc
parent 44725 16c361152133
child 44915 2dc5ae953c4a
equal deleted inserted replaced
44830:91e509a12dbc 44906:e5043679bfcc
  2967             )
  2967             )
  2968         )
  2968         )
  2969 
  2969 
  2970     revs = list(revs)
  2970     revs = list(revs)
  2971     revs.extend(opts.get(b'rev'))
  2971     revs.extend(opts.get(b'rev'))
  2972     basectx = None
       
  2973     if opts.get(b'base'):
       
  2974         basectx = scmutil.revsingle(repo, opts[b'base'], None)
       
  2975     # a dict of data to be stored in state file
  2972     # a dict of data to be stored in state file
  2976     statedata = {}
  2973     statedata = {}
  2977     # list of new nodes created by ongoing graft
  2974     # list of new nodes created by ongoing graft
  2978     statedata[b'newnodes'] = []
  2975     statedata[b'newnodes'] = []
  2979 
  2976 
  3059                 opts[b'user'] = statedata[b'user']
  3056                 opts[b'user'] = statedata[b'user']
  3060             if statedata.get(b'log'):
  3057             if statedata.get(b'log'):
  3061                 opts[b'log'] = True
  3058                 opts[b'log'] = True
  3062             if statedata.get(b'no_commit'):
  3059             if statedata.get(b'no_commit'):
  3063                 opts[b'no_commit'] = statedata.get(b'no_commit')
  3060                 opts[b'no_commit'] = statedata.get(b'no_commit')
       
  3061             if statedata.get(b'base'):
       
  3062                 opts[b'base'] = statedata.get(b'base')
  3064             nodes = statedata[b'nodes']
  3063             nodes = statedata[b'nodes']
  3065             revs = [repo[node].rev() for node in nodes]
  3064             revs = [repo[node].rev() for node in nodes]
  3066         else:
  3065         else:
  3067             cmdutil.wrongtooltocontinue(repo, _(b'graft'))
  3066             cmdutil.wrongtooltocontinue(repo, _(b'graft'))
  3068     else:
  3067     else:
  3071         cmdutil.checkunfinished(repo)
  3070         cmdutil.checkunfinished(repo)
  3072         cmdutil.bailifchanged(repo)
  3071         cmdutil.bailifchanged(repo)
  3073         revs = scmutil.revrange(repo, revs)
  3072         revs = scmutil.revrange(repo, revs)
  3074 
  3073 
  3075     skipped = set()
  3074     skipped = set()
       
  3075     basectx = None
       
  3076     if opts.get(b'base'):
       
  3077         basectx = scmutil.revsingle(repo, opts[b'base'], None)
  3076     if basectx is None:
  3078     if basectx is None:
  3077         # check for merges
  3079         # check for merges
  3078         for rev in repo.revs(b'%ld and merge()', revs):
  3080         for rev in repo.revs(b'%ld and merge()', revs):
  3079             ui.warn(_(b'skipping ungraftable merge revision %d\n') % rev)
  3081             ui.warn(_(b'skipping ungraftable merge revision %d\n') % rev)
  3080             skipped.add(rev)
  3082             skipped.add(rev)
  3163         if not revs:
  3165         if not revs:
  3164             return -1
  3166             return -1
  3165 
  3167 
  3166     if opts.get(b'no_commit'):
  3168     if opts.get(b'no_commit'):
  3167         statedata[b'no_commit'] = True
  3169         statedata[b'no_commit'] = True
       
  3170     if opts.get(b'base'):
       
  3171         statedata[b'base'] = True
  3168     for pos, ctx in enumerate(repo.set(b"%ld", revs)):
  3172     for pos, ctx in enumerate(repo.set(b"%ld", revs)):
  3169         desc = b'%d:%s "%s"' % (
  3173         desc = b'%d:%s "%s"' % (
  3170             ctx.rev(),
  3174             ctx.rev(),
  3171             ctx,
  3175             ctx,
  3172             ctx.description().split(b'\n', 1)[0],
  3176             ctx.description().split(b'\n', 1)[0],