diff hgext/git/gitlog.py @ 52617:a26c5da900ff

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
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Thu, 02 Jan 2025 10:54:50 -0500
parents ba8f03ad8906
children 143063a94085
line wrap: on
line diff
--- a/hgext/git/gitlog.py	Thu Jan 02 10:46:37 2025 -0500
+++ b/hgext/git/gitlog.py	Thu Jan 02 10:54:50 2025 -0500
@@ -1,6 +1,7 @@
 from __future__ import annotations
 
 from typing import (
+    Iterable,
     Iterator,
 )
 
@@ -46,6 +47,93 @@
             self._db.execute('SELECT COUNT(*) FROM changelog').fetchone()[0]
         )
 
+    def files(self):
+        raise NotImplementedError
+
+    def storageinfo(
+        self,
+        exclusivefiles=False,
+        sharedfiles=False,
+        revisionscount=False,
+        trackedsize=False,
+        storedsize=False,
+    ):
+        raise NotImplementedError
+
+    def verifyintegrity(self, state) -> Iterable[repository.iverifyproblem]:
+        raise NotImplementedError
+
+    def revs(self, start=0, stop=None):
+        raise NotImplementedError
+
+    def addgroup(
+        self,
+        deltas,
+        linkmapper,
+        transaction,
+        addrevisioncb=None,
+        duplicaterevisioncb=None,
+    ):
+        raise NotImplementedError
+
+    def commonancestorsheads(self, node1, node2):
+        raise NotImplementedError
+
+    def descendants(self, revs):
+        raise NotImplementedError
+
+    def heads(self, start=None, stop=None):
+        raise NotImplementedError
+
+    def children(self, node):
+        raise NotImplementedError
+
+    def emitrevisions(
+        self,
+        nodes,
+        nodesorder=None,
+        revisiondata=False,
+        assumehaveparentrevisions=False,
+    ):
+        raise NotImplementedError
+
+    def getstrippoint(self, minlink):
+        raise NotImplementedError
+
+    def iscensored(self, rev):
+        raise NotImplementedError
+
+    def parentrevs(self, rev):
+        raise NotImplementedError
+
+    def rawdata(self, node):
+        raise NotImplementedError
+
+    def revision(self, node):
+        raise NotImplementedError
+
+    def size(self, rev):
+        raise NotImplementedError
+
+    def strip(self, minlink, transaction):
+        raise NotImplementedError
+
+    def addrevision(
+        self,
+        revisiondata,
+        transaction,
+        linkrev,
+        p1,
+        p2,
+        node=None,
+        flags=0,
+        cachedelta=None,
+    ):
+        raise NotImplementedError
+
+    def censorrevision(self, tr, node, tombstone=b''):
+        raise NotImplementedError
+
     def rev(self, n):
         if n == sha1nodeconstants.nullid:
             return -1