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