# HG changeset patch # User Matt Harbison # Date 1606421397 18000 # Node ID c7c1efdfd4dec044df57dd7f477e47165b576927 # Parent a001e28ad5eb4ffb52a61f2371f64445cc918b5d git: show the version of `pygit2` with verbose version output 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. Differential Revision: https://phab.mercurial-scm.org/D9436 diff -r a001e28ad5eb -r c7c1efdfd4de hgext/git/__init__.py --- a/hgext/git/__init__.py Fri Nov 27 15:17:42 2020 -0500 +++ b/hgext/git/__init__.py Thu Nov 26 15:09:57 2020 -0500 @@ -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): diff -r a001e28ad5eb -r c7c1efdfd4de hgext/git/gitutil.py --- a/hgext/git/gitutil.py Fri Nov 27 15:17:42 2020 -0500 +++ b/hgext/git/gitutil.py Thu Nov 26 15:09:57 2020 -0500 @@ -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 -r a001e28ad5eb -r c7c1efdfd4de tests/test-git-interop.t --- a/tests/test-git-interop.t Fri Nov 27 15:17:42 2020 -0500 +++ b/tests/test-git-interop.t Thu Nov 26 15:09:57 2020 -0500 @@ -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