D9436: git: show the version of `pygit2` with verbose version output
mharbison72 (Matt Harbison)
phabricator at mercurial-scm.org
Sat Nov 28 04:49:29 UTC 2020
mharbison72 created this revision.
Herald added a reviewer: durin42.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
This seems like useful info to have when debugging. I followed the precedent of
hg-git, which prints something like:
hggit external 0.9.0a1 (dulwich 0.19.15)
We don't have a version number assigned (because it's internal), so it's just
the parenthetical.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D9436
AFFECTED FILES
hgext/git/__init__.py
hgext/git/gitutil.py
tests/test-git-interop.t
CHANGE DETAILS
diff --git a/tests/test-git-interop.t b/tests/test-git-interop.t
--- a/tests/test-git-interop.t
+++ b/tests/test-git-interop.t
@@ -16,6 +16,10 @@
> }
+ $ hg version -v --config extensions.git= | grep '^[E ]'
+ Enabled extensions:
+ git internal (pygit2 *) (glob)
+
Test auto-loading extension works:
$ mkdir nogit
$ cd nogit
diff --git a/hgext/git/gitutil.py b/hgext/git/gitutil.py
--- a/hgext/git/gitutil.py
+++ b/hgext/git/gitutil.py
@@ -20,6 +20,19 @@
return pygit2_module
+def pygit2_version():
+ mod = get_pygit2()
+ v = "N/A"
+
+ if mod:
+ try:
+ v = mod.__version__
+ except AttributeError:
+ pass
+
+ return b"(pygit2 %s)" % v.encode("utf-8")
+
+
def togitnode(n):
"""Wrapper to convert a Mercurial binary node to a unicode hexlified node.
diff --git a/hgext/git/__init__.py b/hgext/git/__init__.py
--- a/hgext/git/__init__.py
+++ b/hgext/git/__init__.py
@@ -44,6 +44,9 @@
default=False,
)
+getversion = gitutil.pygit2_version
+
+
# TODO: extract an interface for this in core
class gitstore(object): # store.basicstore):
def __init__(self, path, vfstype):
To: mharbison72, durin42, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list