Mercurial > hg
view hgext/git/gitutil.py @ 45422:601e3658216d
git: make dirstate actually support listclean parameter
As far as I can tell listignored and listunknown should already
work. I'm vexed that there doesn't seem to be a way to get clean files
out of the pygit2 status method, but this at least makes things work
better.
Differential Revision: https://phab.mercurial-scm.org/D8998
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Mon, 07 Sep 2020 17:14:59 -0400 |
parents | ec54b3d2af0b |
children | c7c1efdfd4de |
line wrap: on
line source
"""utilities to assist in working with pygit2""" from __future__ import absolute_import from mercurial.node import bin, hex, nullid from mercurial import pycompat pygit2_module = None def get_pygit2(): global pygit2_module if pygit2_module is None: try: import pygit2 as pygit2_module pygit2_module.InvalidSpecError except (ImportError, AttributeError): pass return pygit2_module 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 pycompat.sysstr(hex(n)) def fromgitnode(n): """Opposite of togitnode.""" assert len(n) == 40 if pycompat.ispy3: return bin(n.encode('ascii')) return bin(n) nullgit = togitnode(nullid)