changeset 7083:f3b21a979a7d stable

obslog: only try to in-memory rebase candidates if on hg 5.6+
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 03 Feb 2025 16:26:18 +0100
parents 6c0d12b12025
children 17f4d949ad62
files CHANGELOG hgext3rd/evolve/obshistory.py
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -6,7 +6,8 @@
 
   * evolve: fix version check from 972d98ce3552 for hg 6.8 (issue6958)
 
-  * obslog: also display patch for rebased changesets
+  * obslog: also display patch for rebased changesets (requires Mercurial 5.6
+    or newer for in-memory rebase support)
 
 11.1.6 -- 2024-11-27
 --------------------
--- a/hgext3rd/evolve/obshistory.py
+++ b/hgext3rd/evolve/obshistory.py
@@ -362,6 +362,11 @@
     nodep1, nodep2 = node_ctx.p1(), node_ctx.p2()
     candp1, candp2 = cand_ctx.p1(), cand_ctx.p2()
 
+    if not compat.hasmemmergestate and (nodep1 != candp1 or nodep2 != candp2):
+        # we need hg 5.6+ for rebasing cand in-memory to show this diff
+        msg = b"Mercurial 5.6 or newer is required for in-memory rebase"
+        raise _NoPatchAvailable(msg)
+
     if nodep1 != candp1:
         # XXX the case when both p1 and p2 changed could be better.
         #