view tests/remotefilelog-getflogheads.py @ 50493:816e8bc6e066

store: split the wrapping of encodedstore between _wrap and datafiles The `datafiles` method of `basicstore` is doing a lot of work that should be done on decoded filename. So we now wrap `_walk` to do the decoding, and less work in `datafiles`. This is necessary to make sure file from the same revlog can be grouped together.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 15 May 2023 09:02:26 +0200
parents a804242050c4
children
line wrap: on
line source

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_obj(b'getflogheads', ui)
    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'))