revsetlang: add a hint for more useful parse errors
This logic is largely based on the similar logic added to template error
messages in D2608 and D2609, but with a few tweaks based on how revsets
actually work.
Differential Revision: https://phab.mercurial-scm.org/D2619
setup: ignore extension load failures when finding working hg
Previously, `make local` would fail if any extension was not properly loading.
Differential Revision: https://phab.mercurial-scm.org/D2589
profile: colorize output on Windows
Previously, the ANSI codes were printed to the screen, throwing off the
alignment. We could probably do this unconditionally, but it's kind of a hack,
so I figured I'd limit the scope.
dispatch: don't clamp the range of the exit code twice
We already limit the range to (0, 255) in the call to sys.exit(). The
duplicated operation can't possibly be hurting us, but let's clean it up
to avoid confusion.
bdiff: avoid pointer arithmetic on void*
MSVC 2008 complains:
mercurial/cext/bdiff.c(106) : error C2036: 'void *' : unknown size
mercurial/cext/bdiff.c(107) : error C2036: 'void *' : unknown size
Maybe it's a gcc extension?
https://stackoverflow.com/questions/
37460579/error-c2036-void-unknown-size
fuzz: add a quick README to try and document how to test new fuzzers
Differential Revision: https://phab.mercurial-scm.org/D2633
fuzz: add a fuzzer for xdiff
Based entirely on the fuzzer for bdiff.
Differential Revision: https://phab.mercurial-scm.org/D2632
tests: add tests about diff quality
These show the differences between bdiff and xdiff.
Differential Revision: https://phab.mercurial-scm.org/D2604
run-tests: allow #require inside #if
Used by the next patch.
Differential Revision: https://phab.mercurial-scm.org/D2605
mdiff: add a config option to use xdiff algorithm
The `experimental.xdiff` will affect the default diffopts and make mdiff use
the xdiff algorithm for better diff quality.
Differential Revision: https://phab.mercurial-scm.org/D2603