# HG changeset patch # User Vadim Gelfer # Date 1149868808 25200 # Node ID 86e07466bcfc5a273b0bf42fdbc8cddb04c2486f # Parent c1ec813198706297f572e977851ab7716f68266c remove: add -n/--dry-run option diff -r c1ec81319870 -r 86e07466bcfc mercurial/commands.py --- a/mercurial/commands.py Fri Jun 09 08:48:30 2006 -0700 +++ b/mercurial/commands.py Fri Jun 09 09:00:08 2006 -0700 @@ -1055,22 +1055,23 @@ ui.warn(_('%s: not overwriting - file exists\n') % reltarget) return - if not opts['after']: + if not opts['after'] and not opts['dry_run']: os.unlink(reltarget) if opts['after']: if not os.path.exists(reltarget): return else: targetdir = os.path.dirname(reltarget) or '.' - if not os.path.isdir(targetdir): + if not os.path.isdir(targetdir) and not opts['dry_run']: os.makedirs(targetdir) try: restore = repo.dirstate.state(abstarget) == 'r' - if restore: + if restore and not dry_run: repo.undelete([abstarget], wlock) try: - shutil.copyfile(relsrc, reltarget) - shutil.copymode(relsrc, reltarget) + if not opts['dry_run']: + shutil.copyfile(relsrc, reltarget) + shutil.copymode(relsrc, reltarget) restore = False finally: if restore: @@ -1088,7 +1089,7 @@ if ui.verbose or not exact: ui.status(_('copying %s to %s\n') % (relsrc, reltarget)) targets[abstarget] = abssrc - if abstarget != origsrc: + if abstarget != origsrc and not opts['dry_run']: repo.copy(origsrc, abstarget, wlock) copied.append((abssrc, relsrc, exact)) @@ -1172,10 +1173,9 @@ if not copylist: raise util.Abort(_('no files to copy')) - if not opts.get('dry_run'): - for targetpath, srcs in copylist: - for origsrc, abssrc, relsrc, exact in srcs: - copy(origsrc, abssrc, relsrc, targetpath(abssrc), exact) + for targetpath, srcs in copylist: + for origsrc, abssrc, relsrc, exact in srcs: + copy(origsrc, abssrc, relsrc, targetpath(abssrc), exact) if errors: ui.warn(_('(consider using --after)\n')) @@ -2309,7 +2309,8 @@ if ui.verbose or not exact: ui.status(_('removing %s\n') % rel) names.append(abs) - repo.remove(names, True, wlock) + if not opts['dry_run']: + repo.remove(names, True, wlock) return errs def revert(ui, repo, *pats, **opts): @@ -3066,7 +3067,8 @@ ('f', 'force', None, _('forcibly copy over an existing managed file')), ('I', 'include', [], _('include names matching the given patterns')), - ('X', 'exclude', [], _('exclude names matching the given patterns'))], + ('X', 'exclude', [], _('exclude names matching the given patterns')), + ('n', 'dry-run', None, _('print what would be done'))], _('hg rename [OPTION]... SOURCE... DEST')), "^revert": (revert,