jj/cli/examples
Martin von Zweigbergk 1cc271441f gc: implement basic GC for Git backend
This adds an initial `jj util gc` command, which simply calls `git gc`
when using the Git backend. That should already be useful in
non-colocated repos because it's not obvious how to GC (repack) such
repos. In my own jj repo, it shrunk `.jj/repo/store/` from 2.4 GiB to
780 MiB, and `jj log --ignore-working-copy` was sped up from 157 ms to
86 ms.

I haven't added any tests because the functionality depends on having
`git` binary on the PATH, which we don't yet depend on anywhere
else. I think we'll still be able to test much of the future parts of
garbage collection without a `git` binary because the interesting
parts are about manipulating the Git repo before calling `git gc` on
it.
2023-12-03 07:40:12 -08:00
..
custom-backend gc: implement basic GC for Git backend 2023-12-03 07:40:12 -08:00
custom-command cli: rename *Commands enums to *Command 2023-12-01 16:53:54 -08:00
custom-global-flag cli: send status messages to stderr, specify stdout/stderr explicitly 2023-10-11 19:24:01 +09:00
custom-working-copy repo, workspace: remove 'static lifetime bound from initializer functions 2023-12-03 07:44:41 +09:00