##// END OF EJS Templates
debugmergestate: make templated...
debugmergestate: make templated Our IntelliJ team wants to be able to read the merge state in order to help the user resolve merge conflicts. They had so far been reading file contents from p1() and p2() and their merge base. That is not ideal for several reasons (merge base is not necessarily the "graft base", renames are not handled, commands like `hg update -m` is not handled). It will get especially bad as of my D7827. This patch makes the output s a templated. I haven't bothered to make it complete (e.g. merge driver states are not handled), but it's probably good enough as a start. I've done a web search for "debugmergestate" and I can't find any indication that any tools currently rely on its output. If it turns out that we get bug reports for it once this is released, I won't object to backing this patch out on the stable branch (and then perhaps replace it by a separate command, or put it behind a new flag). The changes in test-backout.t are interesting, in particular this: ``` - other path: foo (node not stored in v1 format) + other path: (node foo) ``` I wonder if that means that we actually read v1 format incorrectly. That seems to be an old format that was switched away from in 2014, so it doesn't matter now anyway. Differential Revision: https://phab.mercurial-scm.org/D8120

File last commit:

r44870:8f7c6656 default
r44880:acbfa31c default
Show More
Cargo.toml
36 lines | 700 B | application/toml | TOMLLexer
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307 [package]
name = "hg-core"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 edition = "2018"
Raphaël Gomès
rust-re2: add wrapper for calling Re2 from Rust...
r44786 build = "build.rs"
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307
[lib]
name = "hg"
Georges Racinet
rust: translated random test of missingancestors...
r41841
Raphaël Gomès
rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`...
r42488 [dependencies]
Raphaël Gomès
rust-filepatterns: add a Rust implementation of pattern-related utils...
r42514 byteorder = "1.3.1"
Georges Racinet
rust-node: binary Node ID and conversion utilities...
r44601 hex = "0.4.0"
Raphaël Gomès
rust-filepatterns: add a Rust implementation of pattern-related utils...
r42514 lazy_static = "1.3.0"
Raphaël Gomès
rust-re2: add wrapper for calling Re2 from Rust...
r44786 libc = { version = "0.2.66", optional = true }
Augie Fackler
rust: sort dependencies entries in Cargo.toml...
r42518 memchr = "2.2.0"
Raphaël Gomès
rust-dependencies: pin the dependencies of hg-core to prevent breakage...
r43530 rand = "0.6.5"
rand_pcg = "0.1.1"
Raphaël Gomès
rust-dependencies: update rayon...
r44618 rayon = "1.3.0"
Raphaël Gomès
rust-dependencies: pin the dependencies of hg-core to prevent breakage...
r43530 regex = "1.1.0"
Raphaël Gomès
rust-performance: introduce FastHashMap type alias for HashMap...
r44278 twox-hash = "1.5.0"
Raphaël Gomès
rust-utils: add util for canonical path...
r44783 same-file = "1.0.6"
Raphaël Gomès
rust-pathauditor: add Rust implementation of the `pathauditor`...
r44737
[dev-dependencies]
Georges Racinet
rust-nodemap: pure Rust example...
r44870 clap = "*"
memmap = "0.7.0"
pretty_assertions = "0.6.1"
Raphaël Gomès
rust-hg-path: add useful methods to `HgPath`...
r44738 tempfile = "3.1.0"
Raphaël Gomès
rust-re2: add wrapper for calling Re2 from Rust...
r44786
[build-dependencies]
cc = { version = "1.0.48", optional = true }
[features]
default = []
with-re2 = ["cc", "libc"]