Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 16389:79fecd735d26
graft: add --dry-run support (issue3362)
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 10 Apr 2012 12:49:12 -0500 |
parents | 329887a7074c |
children | d54d4de56aa7 |
comparison
equal
deleted
inserted
replaced
16388:e03d8a40521f | 16389:79fecd735d26 |
---|---|
2490 ('e', 'edit', False, _('invoke editor on commit messages')), | 2490 ('e', 'edit', False, _('invoke editor on commit messages')), |
2491 ('D', 'currentdate', False, | 2491 ('D', 'currentdate', False, |
2492 _('record the current date as commit date')), | 2492 _('record the current date as commit date')), |
2493 ('U', 'currentuser', False, | 2493 ('U', 'currentuser', False, |
2494 _('record the current user as committer'), _('DATE'))] | 2494 _('record the current user as committer'), _('DATE'))] |
2495 + commitopts2 + mergetoolopts, | 2495 + commitopts2 + mergetoolopts + dryrunopts, |
2496 _('[OPTION]... REVISION...')) | 2496 _('[OPTION]... REVISION...')) |
2497 def graft(ui, repo, *revs, **opts): | 2497 def graft(ui, repo, *revs, **opts): |
2498 '''copy changes from other branches onto the current branch | 2498 '''copy changes from other branches onto the current branch |
2499 | 2499 |
2500 This command uses Mercurial's merge logic to copy individual | 2500 This command uses Mercurial's merge logic to copy individual |
2609 if not revs: | 2609 if not revs: |
2610 return -1 | 2610 return -1 |
2611 | 2611 |
2612 for pos, ctx in enumerate(repo.set("%ld", revs)): | 2612 for pos, ctx in enumerate(repo.set("%ld", revs)): |
2613 current = repo['.'] | 2613 current = repo['.'] |
2614 | |
2614 ui.status(_('grafting revision %s\n') % ctx.rev()) | 2615 ui.status(_('grafting revision %s\n') % ctx.rev()) |
2616 if opts.get('dry_run'): | |
2617 continue | |
2615 | 2618 |
2616 # we don't merge the first commit when continuing | 2619 # we don't merge the first commit when continuing |
2617 if not cont: | 2620 if not cont: |
2618 # perform the graft merge with p1(rev) as 'ancestor' | 2621 # perform the graft merge with p1(rev) as 'ancestor' |
2619 try: | 2622 try: |
2652 date = opts['date'] | 2655 date = opts['date'] |
2653 repo.commit(text=ctx.description(), user=user, | 2656 repo.commit(text=ctx.description(), user=user, |
2654 date=date, extra=extra, editor=editor) | 2657 date=date, extra=extra, editor=editor) |
2655 | 2658 |
2656 # remove state when we complete successfully | 2659 # remove state when we complete successfully |
2657 if os.path.exists(repo.join('graftstate')): | 2660 if not opts.get('dry_run') and os.path.exists(repo.join('graftstate')): |
2658 util.unlinkpath(repo.join('graftstate')) | 2661 util.unlinkpath(repo.join('graftstate')) |
2659 | 2662 |
2660 return 0 | 2663 return 0 |
2661 | 2664 |
2662 @command('grep', | 2665 @command('grep', |