Mercurial > hg
view hgext/git/gitutil.py @ 51021:006aee5ffd35
interfaces: drop the `raw` parameters on ifiledata interface
In practice it was not implemented since forever. The `rawdata` method fit that
purpose. The interface checking does not detect that because it seems to confuse
the `_df` argument for the `raw` one.
Dropping that `_df` argument in a descendant changesets revealed the issue.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 26 Sep 2023 01:05:02 +0200 |
parents | de9ffb82ef4d |
children | f4733654f144 |
line wrap: on
line source
"""utilities to assist in working with pygit2""" from mercurial.node import bin, sha1nodeconstants pygit2_module = None def get_pygit2(): global pygit2_module if pygit2_module is None: try: import pygit2 as pygit2_module # pytype: disable=import-error pygit2_module.InvalidSpecError except (ImportError, AttributeError): pass 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. pygit2 and sqlite both need nodes as strings, not bytes. """ assert len(n) == 20 return n.hex() def fromgitnode(n): """Opposite of togitnode.""" assert len(n) == 40 return bin(n) nullgit = togitnode(sha1nodeconstants.nullid)