[PATCH 02 of 14] git: add stubs for filelog methods

Josef 'Jeff' Sipek jeffpc at josefsipek.net
Thu Jan 2 18:58:24 UTC 2025


 hgext/git/gitlog.py |  87 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)


# HG changeset patch
# User Josef 'Jeff' Sipek <jeffpc at josefsipek.net>
# Date 1735833290 18000
#      Thu Jan 02 10:54:50 2025 -0500
# Node ID 903a1eaae6eed118e4cf9d1380afd72ca5c169d8
# Parent  3067fc862502ba4c82c83f31e6656a711fa022d9
git: add stubs for filelog methods

$ hg log
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 3.11.10 (main, Oct 31 2024, 01:10:40) [Clang 18.1.5 (https://github.com/llvm/llvm-project.git llvmorg-18.1.5-0-g617a15
** Mercurial Distributed SCM (version 6.9.post1.dev337+hg.72af9fa34832)
** Extensions loaded: absorb, churn, git (pygit2 1.14.1), githelp, gpg, hgk, histedit, patchbomb, rebase
Traceback (most recent call last):
  File "/home/jeffpc/src/oss/hg-gitext-test/../hg-gitext/hg", line 61, in <module>
    dispatch.run()
...
  File "/usr/home/jeffpc/src/oss/hg-gitext/mercurial/tags.py", line 507, in _readtagcache
    if not len(repo.file(b'.hgtags')):
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/home/jeffpc/src/oss/hg-gitext/hgext/git/__init__.py", line 138, in file
    return gitlog.filelog(self.store.git, self.store._db, path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Can't instantiate abstract class filelog with abstract methods addgroup, addrevision, censorrevision, children, commonancestorsheads, descendants, emitrevisions, files, getstrippoint, heads, iscensored, parentrevs, rawdata, revision, revs, size, storageinfo, strip, verifyintegrity

diff --git a/hgext/git/gitlog.py b/hgext/git/gitlog.py
--- a/hgext/git/gitlog.py
+++ b/hgext/git/gitlog.py
@@ -46,6 +46,93 @@ class baselog:  # revlog.revlog):
             self._db.execute('SELECT COUNT(*) FROM changelog').fetchone()[0]
         )
 
+    def files(self):
+        raise error.Abort(b"not yet implemented")
+
+    def storageinfo(
+        self,
+        exclusivefiles=False,
+        sharedfiles=False,
+        revisionscount=False,
+        trackedsize=False,
+        storedsize=False,
+    ):
+        raise error.Abort(b"not yet implemented")
+
+    def verifyintegrity(self, state) -> Iterable[iverifyproblem]:
+        raise error.Abort(b"not yet implemented")
+
+    def revs(self, start=0, stop=None):
+        raise error.Abort(b"not yet implemented")
+
+    def addgroup(
+        self,
+        deltas,
+        linkmapper,
+        transaction,
+        addrevisioncb=None,
+        duplicaterevisioncb=None,
+    ):
+        raise error.Abort(b"not yet implemented")
+
+    def commonancestorsheads(self, node1, node2):
+        raise error.Abort(b"not yet implemented")
+
+    def descendants(self, revs):
+        raise error.Abort(b"not yet implemented")
+
+    def heads(self, start=None, stop=None):
+        raise error.Abort(b"not yet implemented")
+
+    def children(self, node):
+        raise error.Abort(b"not yet implemented")
+
+    def emitrevisions(
+        self,
+        nodes,
+        nodesorder=None,
+        revisiondata=False,
+        assumehaveparentrevisions=False,
+    ):
+        raise error.Abort(b"not yet implemented")
+
+    def getstrippoint(self, minlink):
+        raise error.Abort(b"not yet implemented")
+
+    def iscensored(self, rev):
+        raise error.Abort(b"not yet implemented")
+
+    def parentrevs(self, rev):
+        raise error.Abort(b"not yet implemented")
+
+    def rawdata(self, node):
+        raise error.Abort(b"not yet implemented")
+
+    def revision(self, node):
+        raise error.Abort(b"not yet implemented")
+
+    def size(self, rev):
+        raise error.Abort(b"not yet implemented")
+
+    def strip(self, minlink, transaction):
+        raise error.Abort(b"not yet implemented")
+
+    def addrevision(
+        self,
+        revisiondata,
+        transaction,
+        linkrev,
+        p1,
+        p2,
+        node=None,
+        flags=0,
+        cachedelta=None,
+    ):
+        raise error.Abort(b"not yet implemented")
+
+    def censorrevision(self, tr, node, tombstone=b''):
+        raise error.Abort(b"not yet implemented")
+
     def rev(self, n):
         if n == sha1nodeconstants.nullid:
             return -1



More information about the Mercurial-devel mailing list