transaction: abstract away the detection of an abandoned transaction
authorRaphaël Gomès <rgomes@octobus.net>
Wed, 13 Sep 2023 12:25:51 +0200
changeset 50988 cf47b83d8ad0
parent 50987 727428c7e1fc
child 50989 752c5a5b73c6
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.
mercurial/transaction.py
mercurial/verify.py
--- 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: