changeset 26940:91786f20db83

git-subrepos: revert respects specified location to save .orig files This patch makes revert in git subrepos save .orig files where the user wants them by using the cmdutil.origpath function.
author Christian Delahousse <cdelahousse@fb.com>
date Tue, 10 Nov 2015 14:29:13 -0800
parents 50d2389a2e49
children 454deda24315
files mercurial/subrepo.py tests/test-subrepo-git.t
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/subrepo.py	Tue Nov 10 14:26:19 2015 -0800
+++ b/mercurial/subrepo.py	Tue Nov 10 14:29:13 2015 -0800
@@ -1910,7 +1910,7 @@
             status = self.status(None)
             names = status.modified
             for name in names:
-                bakname = "%s.orig" % name
+                bakname = cmdutil.origpath(self.ui, self._subparent, name)
                 self.ui.note(_('saving current version of %s as %s\n') %
                         (name, bakname))
                 self.wvfs.rename(name, bakname)
--- a/tests/test-subrepo-git.t	Tue Nov 10 14:26:19 2015 -0800
+++ b/tests/test-subrepo-git.t	Tue Nov 10 14:29:13 2015 -0800
@@ -875,6 +875,16 @@
   $ hg status --subrepos
   ? s/barfoo
 
+revert moves orig files to the right place
+  $ echo 'bloop' > s/foobar
+  $ hg revert --all --verbose --config 'ui.origbackuppath=.hg/origbackups'
+  reverting subrepo ../gitroot
+  creating directory: $TESTTMP/tc/.hg/origbackups
+  saving current version of foobar as $TESTTMP/tc/.hg/origbackups/foobar.orig
+  $ ls .hg/origbackups
+  foobar.orig
+  $ rm -rf .hg/origbackups
+
 show file at specific revision
   $ cat > s/foobar << EOF
   > woop    woop