Mercurial > hg
view tests/remotefilelog-getflogheads.py @ 51274:bec6e9c108fd
matchers: use correct method for finding index in vector
The path matcher has an optimization for when all paths are `rootfilesin:`. This
optimization exists in both Python and Rust. However, the Rust implementation
currently has a bug that makes it fail in most cases. The bug is that it
`rfind()` where it was clearly intended to use `rposition()`. This patch fixes
that and adds a test.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 18 Dec 2023 14:51:20 -0800 |
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'))