Skip to content

Commit 551c3a0

Browse files
committed
cli: show workspace roots in workspace list
Include each recorded workspace root in the default `jj workspace list` template instead of requiring users to opt in with a separate builtin template. The workspace path is generally useful when users have multiple workspaces and need to find the checkout on disk. Keeping this in the default output also avoids requiring users to know the template language just to answer that common question. Drop `builtin_workspace_list_with_root` now that `builtin_workspace_list` has the root-bearing output. Workspaces whose roots are not recorded or cannot be resolved are still listed without a path. Fixes #7114.
1 parent fd3fdb0 commit 551c3a0

13 files changed

Lines changed: 57 additions & 109 deletions

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4141
* New `merge_point()` revset function which (similar to `fork_point`) finds the
4242
point where multiple branches merge.
4343

44-
* New `builtin_workspace_list` and `builtin_workspace_list_with_root` template
45-
aliases are available for `jj workspace list`.
44+
* `jj workspace list` now shows workspace roots by default. The output can be
45+
customized with `templates.workspace_list` or `-T`, and `WorkspaceRef.root()`
46+
returns an optional `FsPath` value.
47+
[#9713](https://github.com/jj-vcs/jj/pull/9713),
48+
[#9826](https://github.com/jj-vcs/jj/pull/9826)
4649

4750
* `jj run` now processes revisions from oldest to newest by default. The start
4851
order is guaranteed: each revision begins execution only after the previous

cli/src/commands/workspace/list.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ pub struct WorkspaceListArgs {
3535
/// The default template can be set by the `templates.workspace_list`
3636
/// setting.
3737
///
38-
/// Use `-T builtin_workspace_list_with_root` to include workspace root
39-
/// paths.
40-
///
4138
/// [`WorkspaceRef` type]:
4239
/// https://docs.jj-vcs.dev/latest/templates/#workspaceref-type
4340
///

cli/src/config/templates.toml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -296,15 +296,6 @@ label(if(op.current_operation(), "current_operation"),
296296
'''
297297

298298
builtin_workspace_list = '''
299-
concat(
300-
name,
301-
": ",
302-
format_commit_summary_with_refs(target, format_commit_ref_names(target.bookmarks())),
303-
"\n",
304-
)
305-
'''
306-
307-
builtin_workspace_list_with_root = '''
308299
concat(
309300
name,
310301
": ",

cli/tests/cli-reference@.md.snap

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3763,8 +3763,6 @@ List workspaces
37633763

37643764
The default template can be set by the `templates.workspace_list` setting.
37653765

3766-
Use `-T builtin_workspace_list_with_root` to include workspace root paths.
3767-
37683766
[`WorkspaceRef` type]: https://docs.jj-vcs.dev/latest/templates/#workspaceref-type
37693767

37703768
[`jj help -k templates`]: https://docs.jj-vcs.dev/latest/templates/

cli/tests/test_completion.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1582,7 +1582,6 @@ fn test_template_alias() {
15821582
builtin_op_log_oneline
15831583
builtin_op_log_redacted
15841584
builtin_workspace_list
1585-
builtin_workspace_list_with_root
15861585
commit_summary_separator
15871586
default_commit_description
15881587
description_placeholder

cli/tests/test_evolog_command.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,6 @@ fn test_evolog_with_no_template() {
609609
- builtin_op_log_oneline
610610
- builtin_op_log_redacted
611611
- builtin_workspace_list
612-
- builtin_workspace_list_with_root
613612
- commit_summary_separator
614613
- default_commit_description
615614
- description_placeholder

cli/tests/test_log_command.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ fn test_log_with_no_template() {
6565
- builtin_op_log_oneline
6666
- builtin_op_log_redacted
6767
- builtin_workspace_list
68-
- builtin_workspace_list_with_root
6968
- commit_summary_separator
7069
- default_commit_description
7170
- description_placeholder

cli/tests/test_operations.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ fn test_op_log_with_no_template() {
211211
- builtin_op_log_oneline
212212
- builtin_op_log_redacted
213213
- builtin_workspace_list
214-
- builtin_workspace_list_with_root
215214
- commit_summary_separator
216215
- default_commit_description
217216
- description_placeholder

cli/tests/test_show_command.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@ fn test_show_with_no_template() {
367367
- builtin_op_log_oneline
368368
- builtin_op_log_redacted
369369
- builtin_workspace_list
370-
- builtin_workspace_list_with_root
371370
- commit_summary_separator
372371
- default_commit_description
373372
- description_placeholder

cli/tests/test_templater.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ fn test_templater_parse_error() {
145145
| ^-----^
146146
|
147147
= Keyword `builtin` doesn't exist
148-
Hint: Did you mean `builtin_config_list`, `builtin_config_list_detailed`, `builtin_draft_commit_description`, `builtin_draft_commit_description_with_diff`, `builtin_evolog_compact`, `builtin_log_comfortable`, `builtin_log_compact`, `builtin_log_compact_full_description`, `builtin_log_detailed`, `builtin_log_node`, `builtin_log_node_ascii`, `builtin_log_oneline`, `builtin_log_redacted`, `builtin_op_log_comfortable`, `builtin_op_log_compact`, `builtin_op_log_node`, `builtin_op_log_node_ascii`, `builtin_op_log_oneline`, `builtin_op_log_redacted`, `builtin_workspace_list`, `builtin_workspace_list_with_root`?
148+
Hint: Did you mean `builtin_config_list`, `builtin_config_list_detailed`, `builtin_draft_commit_description`, `builtin_draft_commit_description_with_diff`, `builtin_evolog_compact`, `builtin_log_comfortable`, `builtin_log_compact`, `builtin_log_compact_full_description`, `builtin_log_detailed`, `builtin_log_node`, `builtin_log_node_ascii`, `builtin_log_oneline`, `builtin_log_redacted`, `builtin_op_log_comfortable`, `builtin_op_log_compact`, `builtin_op_log_node`, `builtin_op_log_node_ascii`, `builtin_op_log_oneline`, `builtin_op_log_redacted`, `builtin_workspace_list`?
149149
[EOF]
150150
[exit status: 1]
151151
");

0 commit comments

Comments
 (0)