Mercurial > hg
view mercurial/txnutil.py @ 48313:bc04a7615c96 stable
tests: allow the true command to be provided by coreutils
The `true` command is sometimes provided as a symbolic link to the `coreutils`
single binary. This is the case on NixOS, on which the test was failing because
the symbolic link fully resolves to the latter name, equally valid but not
previously accepted by the test's golden output.
Differential Revision: https://phab.mercurial-scm.org/D11740
author | pacien <pacien.trangirard@pacien.net> |
---|---|
date | Tue, 09 Nov 2021 02:16:43 +0100 |
parents | 89a2afe31e82 |
children | 6000f5b25c9b |
line wrap: on
line source
# txnutil.py - transaction related utilities # # Copyright FUJIWARA Katsunori <foozy@lares.dti.ne.jp> and others # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import import errno from . import encoding def mayhavepending(root): """return whether 'root' may have pending changes, which are visible to this process. """ return root == encoding.environ.get(b'HG_PENDING') def trypending(root, vfs, filename, **kwargs): """Open file to be read according to HG_PENDING environment variable This opens '.pending' of specified 'filename' only when HG_PENDING is equal to 'root'. This returns '(fp, is_pending_opened)' tuple. """ if mayhavepending(root): try: return (vfs(b'%s.pending' % filename, **kwargs), True) except IOError as inst: if inst.errno != errno.ENOENT: raise return (vfs(filename, **kwargs), False)