tests/remotefilelog-getflogheads.py
author Jason R. Coombs <jaraco@jaraco.com>
Wed, 07 Sep 2022 14:56:45 -0400
changeset 49493 4367c46a89ee
parent 48875 6000f5b25c9b
child 49736 a804242050c4
permissions -rw-r--r--
requires: re-use vfs.tryread for simplicity Avoids calling `set` twice or having to re-raise an exception and implements the routine with a single return expression.

from mercurial.i18n import _
from mercurial import (
    hg,
    registrar,
)
from mercurial.utils import (
    urlutil,
)

cmdtable = {}
command = registrar.command(cmdtable)


@command(b'getflogheads', [], b'path')
def getflogheads(ui, repo, path):
    """
    Extension printing a remotefilelog's heads

    Used for testing purpose
    """

    dest = urlutil.get_unique_pull_path(b'getflogheads', repo, ui)[0]
    peer = hg.peer(repo, {}, dest)

    try:
        flogheads = peer.x_rfl_getflogheads(path)
    finally:
        peer.close()

    if flogheads:
        for head in flogheads:
            ui.write(head + b'\n')
    else:
        ui.write(_(b'EMPTY\n'))