mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-07 13:00:08 +00:00
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> |
||
---|---|---|
.. | ||
commands | ||
config | ||
merge_tools | ||
cleanup_guard.rs | ||
cli_util.rs | ||
command_error.rs | ||
commit_templater.rs | ||
complete.rs | ||
config-schema.json | ||
config.rs | ||
description_util.rs | ||
diff_util.rs | ||
formatter.rs | ||
generic_templater.rs | ||
git_util.rs | ||
graphlog.rs | ||
lib.rs | ||
main.rs | ||
movement_util.rs | ||
operation_templater.rs | ||
progress.rs | ||
revset_util.rs | ||
template.pest | ||
template_builder.rs | ||
template_parser.rs | ||
templater.rs | ||
text_util.rs | ||
time_util.rs | ||
ui.rs |