Mercurial > public > mercurial-scm > hg
diff mercurial/subrepo.py @ 23678:194d2f185008
subrepo: add full revert support for git subrepos
Previously, revert was only possible if the '--no-backup'
switch was specified.
Now, to support backups, we explicitly go over all modified
files in the subrepo.
author | Mathias De Mar? <mathias.demare@gmail.com> |
---|---|
date | Sun, 28 Dec 2014 10:42:25 +0100 |
parents | 965788d9ae09 |
children | dd1e73c4be13 |
line wrap: on
line diff
--- a/mercurial/subrepo.py Tue Dec 23 19:54:48 2014 -0800 +++ b/mercurial/subrepo.py Sun Dec 28 10:42:25 2014 +0100 @@ -1658,10 +1658,14 @@ def revert(self, substate, *pats, **opts): self.ui.status(_('reverting subrepo %s\n') % substate[0]) if not opts.get('no_backup'): - self.ui.warn('%s: reverting %s subrepos without ' - '--no-backup is unsupported\n' - % (substate[0], substate[2])) - return [] + status = self.status(None) + names = status.modified + for name in names: + bakname = "%s.orig" % name + self.ui.note(_('saving current version of %s as %s\n') % + (name, bakname)) + util.rename(os.path.join(self._abspath, name), + os.path.join(self._abspath, bakname)) self.get(substate, overwrite=True) return []