changeset 22662:c4d63f6740b8

transaction: work around and document issue with file backup The backup restoration is actually hard-coded for the main file. And this hard-coded list is the only one used when repairing an interrupted transaction from another process. Solving this problem is out of the scope of this series so we document it and work around its implications.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 01 Oct 2014 21:40:44 -0500
parents 9ea2913e7c41
children 4c6198737ad8
files mercurial/transaction.py
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/transaction.py	Thu Oct 02 00:15:15 2014 -0500
+++ b/mercurial/transaction.py	Wed Oct 01 21:40:44 2014 -0500
@@ -243,7 +243,11 @@
             files = []
             try:
                 for name in filenames:
-                    self.addbackup(name)
+                    # Some files are already backed up when creating the
+                    # localrepo. Until this is properly fixed we disable the
+                    # backup for them.
+                    if name not in ('phaseroots',):
+                        self.addbackup(name)
                     files.append(self.opener(name, 'w', atomictemp=True))
                 genfunc(*files)
             finally: