changeset 50996:cf47b83d8ad0

transaction: abstract away the detection of an abandoned transaction We're about to add another place where this is used, let's not spill this implementation detail.
author Raphaël Gomès <rgomes@octobus.net>
date Wed, 13 Sep 2023 12:25:51 +0200
parents 727428c7e1fc
children 752c5a5b73c6
files mercurial/transaction.py mercurial/verify.py
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/transaction.py	Wed Jan 25 15:33:39 2023 +0100
+++ b/mercurial/transaction.py	Wed Sep 13 12:25:51 2023 +0200
@@ -59,6 +59,11 @@
 ]
 
 
+def has_abandoned_transaction(repo):
+    """Return True if the repo has an abandoned transaction"""
+    return os.path.exists(repo.sjoin(b"journal"))
+
+
 def cleanup_undo_files(report, vfsmap, undo_prefix=b'undo'):
     """remove "undo" files used by the rollback logic
 
--- a/mercurial/verify.py	Wed Jan 25 15:33:39 2023 +0100
+++ b/mercurial/verify.py	Wed Sep 13 12:25:51 2023 +0200
@@ -17,6 +17,7 @@
     pycompat,
     requirements,
     revlog,
+    transaction,
     util,
 )
 
@@ -195,7 +196,7 @@
         if not repo.url().startswith(b'file:'):
             raise error.Abort(_(b"cannot verify bundle or remote repos"))
 
-        if os.path.exists(repo.sjoin(b"journal")):
+        if transaction.has_abandoned_transaction(repo):
             ui.warn(_(b"abandoned transaction found - run hg recover\n"))
 
         if ui.verbose or not self.revlogv1: