relnotes: we now require `sh` to support $(command) syntax to run test suite
For example, Solaris before version 11 had /bin/sh pointing to the old
Bourne Shell (which doesn't support $(command) syntax).
Differential Revision: https://phab.mercurial-scm.org/D6833
merge: respect parents order when using `graft` on a merge
The previous code did not record the index of the replaced parent. It was always
using the "graft" destination as `p1`. This could switch parents order in some
situation (eg: some of the evolve evolving merge case). Recording and using the
information fixes the issue in evolve.
We are not aware of core commands calling graft in that fashion, so we could not
build a simple test case for it using core commands.
doc: fix up confusing doc comment
Differential Revision: https://phab.mercurial-scm.org/D6829
strip: fix bug with treemanifests and unordered linkrevs
This is the treemanifest version of
f45f7390c1c5 (strip: calculate
list of extra nodes to save and pass it to changegroupsubset,
2008-01-19).
Differential Revision: https://phab.mercurial-scm.org/D6795
repair: extract a helper for generating all manifest revlogs
We'll need to walk the manifest revlogs also to figure out which
manifests have linkrevs out of order (for fixing the bug shown in the
previous patch).
By the way, perhaps it would be more efficient in many cases to find
only the relevant directory manifest revlogs based on the files
instead of walking the entire store, but that can be changed later.
Differential Revision: https://phab.mercurial-scm.org/D6794
tests: show broken strip with treemanifests and unordered linkrevs
This is the treemanifest version of
issue764.
Differential Revision: https://phab.mercurial-scm.org/D6793
tests: split out manifest case from test-strip-cross.t
The manifest case was added on after the other cases, in
d67cfe0d4714
(test-strip-cross: test handling of linkrev crosses in the manifest,
2008-01-20). I think it's easier to read and modify if it's separated.
Differential Revision: https://phab.mercurial-scm.org/D6792
tests: don't log manifest-file in test-strip-cross.t
I'm confident that the file is there only to help produce a certain
manifest log; there is nothing special about the file's filelog
itself. (And there already is a `hg debugindex --manifest` call higher
up in the file that shows the crossed linkrevs.)
Differential Revision: https://phab.mercurial-scm.org/D6791