[PATCH] obscache: use _readmarkers() from core with correct signature

Martin von Zweigbergk martinvonz at google.com
Tue Aug 22 20:05:09 UTC 2017


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1503424759 25200
#      Tue Aug 22 10:59:19 2017 -0700
# Node ID efc4b69aecfb3b407ca362cff318044445e9672c
# Parent  95470e817c00b03fcf99e486412cc7d7f0116681
obscache: use _readmarkers() from core with correct signature

The copied _readmarkers() went stale with Mercurial core commit
5d3ba4395288 (obsstore: let read marker API take a range of offsets,
2017-06-04). At the same time, the Mercurial core version of the
function gained the desired offset argument, so we can now use that
function.

diff --git a/hgext3rd/evolve/obscache.py b/hgext3rd/evolve/obscache.py
--- a/hgext3rd/evolve/obscache.py
+++ b/hgext3rd/evolve/obscache.py
@@ -127,6 +127,11 @@
                           % diskversion)
     return diskversion, obsolete.formats[diskversion][0](data, off)
 
+if obsolete._readmarkers.__code__.co_argcount > 1:
+    # hg-4.3+ has the "offset" parameter, and _fm?readmarkers also have an
+    # extra "stop" parameter
+    _readmarkers = obsolete._readmarkers
+
 def markersfrom(obsstore, byteoffset, firstmarker):
     if not firstmarker:
         return list(obsstore)


More information about the Mercurial-devel mailing list