revert: rename original to .orig instead of copying (
issue2282)
By renaming before reverting the content of the file we ensure that we handle
and break hardlinks properly.
Handling of other hardlinks to .orig is somebody elses problem.
--- a/mercurial/commands.py Tue Jul 20 14:00:47 2010 -0400
+++ b/mercurial/commands.py Tue Jul 13 03:04:14 2010 +0200
@@ -3167,7 +3167,7 @@
ui.note(_('saving current version of %s as %s\n') %
(rel, bakname))
if not opts.get('dry_run'):
- util.copyfile(target, bakname)
+ util.rename(target, bakname)
if ui.verbose or not exact:
msg = xlist[1]
if not isinstance(msg, basestring):