Mercurial > hg
changeset 45950:c7c1efdfd4de
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
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 26 Nov 2020 15:09:57 -0500 |
parents | a001e28ad5eb |
children | c26cb33e5219 |
files | hgext/git/__init__.py hgext/git/gitutil.py tests/test-git-interop.t |
diffstat | 3 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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):
--- 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.
--- 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