Mercurial > hg
view tests/failfilemerge.py @ 35659:821d8a5ab4ff
match: do not weirdly include explicit files excluded by -X option
Actually, this was the original behavior. Before a83a7d27911e, "log" and
"files" showed nothing if "FILE -X FILE" was specified, whereas "debugwalk"
got confused by an explicit FILE pattern. Under the hood, "log" and "files"
use m() and ctx.matches(m) respectively, and "debugwalk" uses ctx.walk(m).
I suspect dirstate.walk() goes wrong in _walkexplicit(), which seems to
blindly trust m.files().
I reckon the original "log"/"files" behavior is correct, and drop the hack
from the differencematcher.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 16 Jan 2018 22:14:33 +0900 |
parents | c0ce60459d84 |
children | 2372284d9457 |
line wrap: on
line source
# extension to emulate interrupting filemerge._filemerge from __future__ import absolute_import from mercurial import ( error, extensions, filemerge, ) def failfilemerge(filemergefn, premerge, repo, wctx, mynode, orig, fcd, fco, fca, labels=None): raise error.Abort("^C") return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels) def extsetup(ui): extensions.wrapfunction(filemerge, '_filemerge', failfilemerge)