mercurial/commands.py
changeset 18038 f8aee8033ab2
parent 17990 8216eb592dcd
child 18039 2c2564280900
equal deleted inserted replaced
18037:c8326ffdcb4f 18038:f8aee8033ab2
  2835 
  2835 
  2836             ui.status(_('grafting revision %s\n') % ctx.rev())
  2836             ui.status(_('grafting revision %s\n') % ctx.rev())
  2837             if opts.get('dry_run'):
  2837             if opts.get('dry_run'):
  2838                 continue
  2838                 continue
  2839 
  2839 
       
  2840             source = ctx.extra().get('source')
       
  2841             if not source:
       
  2842                 source = ctx.hex()
       
  2843             extra = {'source': source}
       
  2844             user = ctx.user()
       
  2845             if opts.get('user'):
       
  2846                 user = opts['user']
       
  2847             date = ctx.date()
       
  2848             if opts.get('date'):
       
  2849                 date = opts['date']
       
  2850             message = ctx.description()
       
  2851             if opts.get('log'):
       
  2852                 message += '\n(grafted from %s)' % ctx.hex()
       
  2853 
  2840             # we don't merge the first commit when continuing
  2854             # we don't merge the first commit when continuing
  2841             if not cont:
  2855             if not cont:
  2842                 # perform the graft merge with p1(rev) as 'ancestor'
  2856                 # perform the graft merge with p1(rev) as 'ancestor'
  2843                 try:
  2857                 try:
  2844                     # ui.forcemerge is an internal variable, do not document
  2858                     # ui.forcemerge is an internal variable, do not document
  2863             repo.dirstate.write()
  2877             repo.dirstate.write()
  2864             # fix up dirstate for copies and renames
  2878             # fix up dirstate for copies and renames
  2865             cmdutil.duplicatecopies(repo, ctx.rev(), ctx.p1().rev())
  2879             cmdutil.duplicatecopies(repo, ctx.rev(), ctx.p1().rev())
  2866 
  2880 
  2867             # commit
  2881             # commit
  2868             source = ctx.extra().get('source')
       
  2869             if not source:
       
  2870                 source = ctx.hex()
       
  2871             extra = {'source': source}
       
  2872             user = ctx.user()
       
  2873             if opts.get('user'):
       
  2874                 user = opts['user']
       
  2875             date = ctx.date()
       
  2876             if opts.get('date'):
       
  2877                 date = opts['date']
       
  2878             message = ctx.description()
       
  2879             if opts.get('log'):
       
  2880                 message += '\n(grafted from %s)' % ctx.hex()
       
  2881             node = repo.commit(text=message, user=user,
  2882             node = repo.commit(text=message, user=user,
  2882                         date=date, extra=extra, editor=editor)
  2883                         date=date, extra=extra, editor=editor)
  2883             if node is None:
  2884             if node is None:
  2884                 ui.status(_('graft for revision %s is empty\n') % ctx.rev())
  2885                 ui.status(_('graft for revision %s is empty\n') % ctx.rev())
  2885     finally:
  2886     finally: