comparison mercurial/commands.py @ 44965:61719b9658b1

merge with stable
author Yuya Nishihara <yuya@tcha.org>
date Wed, 03 Jun 2020 19:20:18 +0900
parents 233ee525dcef 2dc5ae953c4a
children 93aa152d4295
comparison
equal deleted inserted replaced
44964:f330d6117a5b 44965:61719b9658b1
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],