jj/.github
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
..
ISSUE_TEMPLATE docs/cli: update URLs to from martinvonz user to jj-vcs org 2024-12-17 12:44:44 -08:00
scripts docs/cli: update URLs to from martinvonz user to jj-vcs org 2024-12-17 12:44:44 -08:00
workflows cli: make git support optional 2025-01-08 22:02:21 +00:00
dependabot.yml github: reenable grouped cargo updates 2023-12-16 14:40:39 +09:00
PULL_REQUEST_TEMPLATE.md docs/cli: update URLs to from martinvonz user to jj-vcs org 2024-12-17 12:44:44 -08:00