equal
deleted
inserted
replaced
218 revs.remove(r) |
218 revs.remove(r) |
219 if not revs: |
219 if not revs: |
220 return None |
220 return None |
221 |
221 |
222 dry_run = bool(opts.get("dry_run")) |
222 dry_run = bool(opts.get("dry_run")) |
223 return "GRAFT", [graftstate, statedata, revs, editor, cont, dry_run, opts] |
223 tool = opts.get('tool', b'') |
|
224 return "GRAFT", [graftstate, statedata, revs, editor, cont, dry_run, tool] |
224 |
225 |
225 |
226 |
226 def _graft_revisions( |
227 def _graft_revisions( |
227 ui, |
228 ui, |
228 repo, |
229 repo, |
230 statedata, |
231 statedata, |
231 revs, |
232 revs, |
232 editor, |
233 editor, |
233 cont=False, |
234 cont=False, |
234 dry_run=False, |
235 dry_run=False, |
235 opts, |
236 tool=b'', |
236 ): |
237 ): |
237 """actually graft some revisions""" |
238 """actually graft some revisions""" |
238 for pos, ctx in enumerate(repo.set(b"%ld", revs)): |
239 for pos, ctx in enumerate(repo.set(b"%ld", revs)): |
239 desc = b'%d:%s "%s"' % ( |
240 desc = b'%d:%s "%s"' % ( |
240 ctx.rev(), |
241 ctx.rev(), |
262 message += b'\n(grafted from %s)' % ctx.hex() |
263 message += b'\n(grafted from %s)' % ctx.hex() |
263 |
264 |
264 # we don't merge the first commit when continuing |
265 # we don't merge the first commit when continuing |
265 if not cont: |
266 if not cont: |
266 # perform the graft merge with p1(rev) as 'ancestor' |
267 # perform the graft merge with p1(rev) as 'ancestor' |
267 overrides = {(b'ui', b'forcemerge'): opts.get('tool', b'')} |
268 overrides = {(b'ui', b'forcemerge'): tool} |
268 if b'base' in statedata: |
269 if b'base' in statedata: |
269 base = repo[statedata[b'base']] |
270 base = repo[statedata[b'base']] |
270 else: |
271 else: |
271 base = ctx.p1() |
272 base = ctx.p1() |
272 with ui.configoverride(overrides, b'graft'): |
273 with ui.configoverride(overrides, b'graft'): |