##// END OF EJS Templates
templater: add subsetparents(rev, revset) function...
templater: add subsetparents(rev, revset) function Naming suggestions are welcome. And this could be flagged as an (ADVANCED) function since the primary use case is to draw a graph. This provides all data needed for drawing revisions graph filtered by revset, and allows us to implement a GUI graph viewer in some languages better than Python. A frontend grapher will be quite similar to our graphmod since subsetparents() just returns parent-child relations in the filtered sub graph. Frontend example: https://hg.sr.ht/~yuja/hgv/browse/default/core/hgchangesetgrapher.cpp However, the resulting graph will be simpler than the one "hg log -G" would generate because redundant edges are eliminated. This should be the same graph rendering strategy as TortoiseHg. This function could be implemented as a revset predicate, but that would mean the scanning state couldn't be cached and thus slow. Test cases are split to new file since test-template-functions.t is quite big and we'll need a new branchy repository anyway.

File last commit:

r45062:245aec57 default
r45083:7cd5c096 default
Show More
Cargo.toml
32 lines | 785 B | application/toml | TOMLLexer
[package]
name = "hg-cpython"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
edition = "2018"
[lib]
name='rusthg'
crate-type = ["cdylib"]
[features]
default = ["python27"]
with-re2 = ["hg-core/with-re2"]
# Features to build an extension module:
python27 = ["cpython/python27-sys", "cpython/extension-module-2-7"]
python3 = ["cpython/python3-sys", "cpython/extension-module"]
# Enable one of these features to build a test executable linked to libpython:
# e.g. cargo test --no-default-features --features python27-bin
python27-bin = ["cpython/python27-sys"]
python3-bin = ["cpython/python3-sys"]
[dependencies]
hg-core = { path = "../hg-core"}
libc = '*'
log = "0.4.8"
simple_logger = "1.6.0"
[dependencies.cpython]
version = "0.4"
default-features = false