comparison mercurial/commands.py @ 2415:dec79ed61ee1

revert: add -n/--dry-run option
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Fri, 09 Jun 2006 09:06:40 -0700
parents 86e07466bcfc
children 04736f38d74f
comparison
equal deleted inserted replaced
2414:86e07466bcfc 2415:dec79ed61ee1
2415 update[abs] = 1 2415 update[abs] = 1
2416 if dobackup and not opts['no_backup'] and os.path.exists(rel): 2416 if dobackup and not opts['no_backup'] and os.path.exists(rel):
2417 bakname = "%s.orig" % rel 2417 bakname = "%s.orig" % rel
2418 ui.note(_('saving current version of %s as %s\n') % 2418 ui.note(_('saving current version of %s as %s\n') %
2419 (rel, bakname)) 2419 (rel, bakname))
2420 shutil.copyfile(rel, bakname) 2420 if not opts.get('dry_run'):
2421 shutil.copymode(rel, bakname) 2421 shutil.copyfile(rel, bakname)
2422 shutil.copymode(rel, bakname)
2422 if ui.verbose or not exact: 2423 if ui.verbose or not exact:
2423 ui.status(xlist[1] % rel) 2424 ui.status(xlist[1] % rel)
2424 for table, hitlist, misslist, backuphit, backupmiss in disptable: 2425 for table, hitlist, misslist, backuphit, backupmiss in disptable:
2425 if abs not in table: continue 2426 if abs not in table: continue
2426 # file has changed in dirstate 2427 # file has changed in dirstate
2447 if pmf[abs] != mfentry: 2448 if pmf[abs] != mfentry:
2448 handle(revert, False) 2449 handle(revert, False)
2449 else: 2450 else:
2450 handle(remove, False) 2451 handle(remove, False)
2451 2452
2452 repo.dirstate.forget(forget[0]) 2453 if not opts.get('dry_run'):
2453 r = repo.update(node, False, True, update.has_key, False, wlock=wlock, 2454 repo.dirstate.forget(forget[0])
2454 show_stats=False) 2455 r = repo.update(node, False, True, update.has_key, False, wlock=wlock,
2455 repo.dirstate.update(add[0], 'a') 2456 show_stats=False)
2456 repo.dirstate.update(undelete[0], 'n') 2457 repo.dirstate.update(add[0], 'a')
2457 repo.dirstate.update(remove[0], 'r') 2458 repo.dirstate.update(undelete[0], 'n')
2458 return r 2459 repo.dirstate.update(remove[0], 'r')
2460 return r
2459 2461
2460 def rollback(ui, repo): 2462 def rollback(ui, repo):
2461 """roll back the last transaction in this repository 2463 """roll back the last transaction in this repository
2462 2464
2463 Roll back the last transaction in this repository, restoring the 2465 Roll back the last transaction in this repository, restoring the
3073 "^revert": 3075 "^revert":
3074 (revert, 3076 (revert,
3075 [('r', 'rev', '', _('revision to revert to')), 3077 [('r', 'rev', '', _('revision to revert to')),
3076 ('', 'no-backup', None, _('do not save backup copies of files')), 3078 ('', 'no-backup', None, _('do not save backup copies of files')),
3077 ('I', 'include', [], _('include names matching given patterns')), 3079 ('I', 'include', [], _('include names matching given patterns')),
3078 ('X', 'exclude', [], _('exclude names matching given patterns'))], 3080 ('X', 'exclude', [], _('exclude names matching given patterns')),
3081 ('n', 'dry-run', None, _('print what would be done'))],
3079 _('hg revert [-r REV] [NAME]...')), 3082 _('hg revert [-r REV] [NAME]...')),
3080 "rollback": (rollback, [], _('hg rollback')), 3083 "rollback": (rollback, [], _('hg rollback')),
3081 "root": (root, [], _('hg root')), 3084 "root": (root, [], _('hg root')),
3082 "^serve": 3085 "^serve":
3083 (serve, 3086 (serve,