mirror of
https://github.com/martinvonz/jj.git
synced 2024-12-28 23:55:54 +00:00
33da97f0bf
When rendering a non-contiguous subset of the commits, we want to still show the connections between the commits in the graph, even though they're not directly connected. This commit introduces an adaptor for the revset iterators that also yield the edges to show in such a simplified graph. This has no measurable impact on `jj log -r ,,v2.0.0` in the git.git repo. The output of `jj log -r 'v1.0.0 | v2.0.0'` now looks like this: ``` o e156455ea491 e156455ea491 gitster@pobox.com 2014-05-28 11:04:19.000 -07:00 refs/tags/v2.0.0 :\ Git 2.0 : ~ o c2f3bf071ee9 c2f3bf071ee9 junkio@cox.net 2005-12-21 00:01:00.000 -08:00 refs/tags/v1.0.0 ~ GIT 1.0.0 ``` Before this commit, it looked like this: ``` o e156455ea491 e156455ea491 gitster@pobox.com 2014-05-28 11:04:19.000 -07:00 refs/tags/v2.0.0 | Git 2.0 | o c2f3bf071ee9 c2f3bf071ee9 junkio@cox.net 2005-12-21 00:01:00.000 -08:00 refs/tags/v1.0.0 | |\ GIT 1.0.0 ``` The output of `jj log -r 'git_refs()'` in the git.git repo is still completely useless (it's >350k lines and >500MB of data). I think that's because we don't filter out edges to ancestors that we have transitive edges to. Mercurial also doesn't filter out such edges, but Git (with `--simplify-by-decoration`) seems to filter them out. I'll change it soon so we filter them out. |
||
---|---|---|
.. | ||
test_bad_locking.rs | ||
test_commit_builder.rs | ||
test_commit_concurrent.rs | ||
test_diff_summary.rs | ||
test_evolution.rs | ||
test_git.rs | ||
test_index.rs | ||
test_init.rs | ||
test_load_repo.rs | ||
test_merge_trees.rs | ||
test_mut_repo.rs | ||
test_operations.rs | ||
test_revset.rs | ||
test_revset_graph_iterator.rs | ||
test_view.rs | ||
test_working_copy.rs | ||
test_working_copy_concurrent.rs |