##// END OF EJS Templates
rust-matchers: fix quadratic complexity in `FileMatcher`...
rust-matchers: fix quadratic complexity in `FileMatcher` Concretely, this command: ``` $ echo hg up -r <nodeid>; time hg revert dir1 dir2 -r <othernode> --debug hg up -r <nodeid> real 0m14.690s user 0m14.766s sys 0m5.430s ``` was much slower despite using 16 cores before this change. The approach taken here is the same one used in match.py, in exactmatcher. This changeset was originally written by Valentin Gatien-Baron in a private repository. I have redacted the commit message and did a minor clean up of the code.

File last commit:

r51699:337bc83c default
r52002:687e192d default
Show More
Cargo.toml
21 lines | 600 B | text/plain | TOMLLexer
# A tool that performs a 3-way merge, resolving conflicts in sorted lists and
# leaving other conflicts unchanged. This is useful with Mercurial's support
# for partial merge tools (configured in `[partial-merge-tools]`).
[package]
name = "merge-lists"
version = "0.1.0"
edition = "2021"
# We need https://github.com/rust-lang/rust/pull/89825
rust-version = "1.59"
[dependencies]
clap = { version = "4.3.17", features = ["derive"] }
itertools = "0.10.3"
regex = "1.5.5"
similar = { version="2.1.0", features = ["bytes"] }
[dev-dependencies]
assert_cmd = "2.0.4"
insta = "1.13.0"
tempdir = "0.3.7"