diff --git a/CHANGELOG.md b/CHANGELOG.md index 2870323e976..6da73d8fc59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Graph node symbols are now configurable via `ui.graph.default_node` and `ui.graph.elided_node`. +* `jj log` now includes synthetic nodes in the graph where some revisions were + elided. + ### Fixed bugs ## [0.15.1] - 2024-03-06 diff --git a/cli/src/commands/log.rs b/cli/src/commands/log.rs index cb9656d2a14..c6988da8c9f 100644 --- a/cli/src/commands/log.rs +++ b/cli/src/commands/log.rs @@ -32,6 +32,9 @@ use crate::ui::Ui; /// Renders a graphical view of the project's history, ordered with children /// before parents. By default, the output only includes mutable revisions, /// along with some additional revisions for context. +/// +/// Spans of revisions that are not included in the graph per `--revisions` are +/// rendered as a synthetic node labeled "(elided revisions)". #[derive(clap::Args, Clone, Debug)] pub(crate) struct LogArgs { /// Which revisions to show. Defaults to the `revsets.log` setting, or diff --git a/cli/src/config-schema.json b/cli/src/config-schema.json index 4ecd1681631..8bbc7fa68e1 100644 --- a/cli/src/config-schema.json +++ b/cli/src/config-schema.json @@ -141,7 +141,7 @@ "log-synthetic-elided-nodes": { "type": "boolean", "description": "Whether to render elided parts of the graph as synthetic nodes.", - "default": false + "default": true }, "editor": { "type": "string", diff --git a/cli/src/config/misc.toml b/cli/src/config/misc.toml index 94e0f9db4ce..0b2e1b94dba 100644 --- a/cli/src/config/misc.toml +++ b/cli/src/config/misc.toml @@ -14,7 +14,7 @@ diff-instructions = true paginate = "auto" pager = { command = ["less", "-FRX"], env = { LESSCHARSET = "utf-8" } } log-word-wrap = false -log-synthetic-elided-nodes = false +log-synthetic-elided-nodes = true [snapshot] max-new-file-size = "1MiB" diff --git a/cli/tests/cli-reference@.md.snap b/cli/tests/cli-reference@.md.snap index f39ba65cbf9..f5b7cdfe111 100644 --- a/cli/tests/cli-reference@.md.snap +++ b/cli/tests/cli-reference@.md.snap @@ -1014,6 +1014,8 @@ Show revision history Renders a graphical view of the project's history with, ordered with children before parents. By default, the output only includes mutable revisions, along with some additional revisions for context. +Spans of revisions that are not included in the graph per `--revisions` are rendered as a synthetic node labeled "(elided revisions)". + **Usage:** `jj log [OPTIONS] [PATHS]...` ###### **Arguments:** diff --git a/cli/tests/test_log_command.rs b/cli/tests/test_log_command.rs index f5ce34c2627..5601b536108 100644 --- a/cli/tests/test_log_command.rs +++ b/cli/tests/test_log_command.rs @@ -1356,6 +1356,7 @@ fn test_elided() { // Elide some commits from each side of the merge. It's unclear that a revision // was skipped on the left side. + test_env.add_config("ui.log-synthetic-elided-nodes = false"); insta::assert_snapshot!(get_log("@ | @- | description(initial)"), @r###" @ merge ├─╮