revert: rename original to .orig instead of copying (issue2282) stable
authorMads Kiilerich <mads@kiilerich.com>
Tue, 13 Jul 2010 03:04:14 +0200
branchstable
changeset 11629 9e874ee0fe97
parent 11628 68a30daead3f
child 11630 0c23085f051f
child 11636 c10eaf1210cd
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.
mercurial/commands.py
--- 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):