jj/cli/src
Austin Seipp e15429ba91 cli: make git support optional
There are some experiments to try and compile `jj` to WebAssembly, so that we
might be able to do things like interactive web tutorials. One step for that
is making `git` support in `jj-cli` optional, because we can stub it out for
something more appropriate and it's otherwise a lot of porting annoyance for
both gitoxide and libgit2.

(On top of that, it might be a useful build configuration for other experiments
of mine where removing the need for the large libgit2 depchain is useful.)

As part of this, we need to mark `jj-lib` as having `default-features = false`
in the workspace dependency configuration; otherwise, the default behavior
for Cargo is to compile with all its default features, i.e. with git support
enabled, ignoring the `jj-cli` features clauses.

Other than that, it is fairly straightforward junk; it largely just sprinkles
some `#[cfg]` around liberally in order to make things work. It also adjusts the
CI pipeline so this is tested there, too, so we can progressively clean it up.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2025-01-08 22:02:21 +00:00
..
commands cli: make git support optional 2025-01-08 22:02:21 +00:00
config Back out "config: merge and print inline tables as values" 2025-01-08 05:24:55 +00:00
merge_tools diff: add merge-tools.*.diff-expected-exit-codes 2025-01-08 08:03:59 +00:00
cleanup_guard.rs
cli_util.rs cli: make git support optional 2025-01-08 22:02:21 +00:00
command_error.rs cli: make git support optional 2025-01-08 22:02:21 +00:00
commit_templater.rs sign: Add templater methods to show signature info 2025-01-04 13:24:08 +01:00
complete.rs repo, workspace: use dunce::canonicalize() to normalize paths 2024-12-22 09:45:37 +09:00
config-schema.json diff: add merge-tools.*.diff-expected-exit-codes 2025-01-08 08:03:59 +00:00
config.rs Back out "config: merge and print inline tables as values" 2025-01-08 05:24:55 +00:00
description_util.rs cli: replace run_ui_editor() and edit_temp_file() with editor type 2025-01-03 10:23:58 +09:00
diff_util.rs style: remove useless type conversion 2025-01-02 23:23:19 +01:00
formatter.rs formatter: leverage serde to parse color styles 2024-12-11 10:37:34 +09:00
generic_templater.rs templater: add IntoTemplateProperty::try_into_cmp 2024-12-12 19:56:29 +08:00
git_util.rs cli: make git support optional 2025-01-08 22:02:21 +00:00
graphlog.rs evolog: Implement --reversed flag 2025-01-02 20:21:59 -05:00
lib.rs cli: make git support optional 2025-01-08 22:02:21 +00:00
main.rs
movement_util.rs cli: get settings from workspace where makes sense 2025-01-06 21:15:28 +09:00
operation_templater.rs templater: add IntoTemplateProperty::try_into_cmp 2024-12-12 19:56:29 +08:00
progress.rs cli: make git support optional 2025-01-08 22:02:21 +00:00
revset_util.rs Back out "config: merge and print inline tables as values" 2025-01-08 05:24:55 +00:00
template.pest templater: rename "logical" eq/ne operators 2024-12-12 22:48:45 +09:00
template_builder.rs templater: add Email template type, deprecate Signature.username() 2024-12-15 16:03:34 +08:00
template_parser.rs templater: rename "logical" eq/ne operators 2024-12-12 22:48:45 +09:00
templater.rs templater: add Email template type, deprecate Signature.username() 2024-12-15 16:03:34 +08:00
text_util.rs cli: migrate remainder of Config::get() to StackedConfig::get() 2024-12-04 10:33:22 +09:00
time_util.rs
ui.rs docs/cli: update URLs to from martinvonz user to jj-vcs org 2024-12-17 12:44:44 -08:00