summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2025-06-12 11:48:06 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2025-06-12 17:07:17 +0200
commit83a064b9d3c76900937d594675d407fc57681fee (patch)
tree22613d889abf00a3880304d920ea9d9015022c97
parent64dd0eb0c941508536ff479f9e3be1bc23099a4a (diff)
downloadjustbuild-83a064b9d3c76900937d594675d407fc57681fee.tar.gz
Update documentation
-rw-r--r--doc/concepts/garbage.md5
-rw-r--r--doc/future-designs/gc-all.md28
-rw-r--r--share/man/just.1.md12
3 files changed, 17 insertions, 28 deletions
diff --git a/doc/concepts/garbage.md b/doc/concepts/garbage.md
index f6ba7149..278147bb 100644
--- a/doc/concepts/garbage.md
+++ b/doc/concepts/garbage.md
@@ -199,6 +199,11 @@ for transfer to an end point that supports blob splicing.
The compactification step will also be carried out if the `--no-rotate`
option is given to `gc`.
+The compactification step is skipped if the `--all` option is given to
+`gc`, since that option triggers removal of all cache generations.
+
+`--no-rotate` and `--all` are incompatible options.
+
Gargabe Collection for Repository Roots
---------------------------------------
diff --git a/doc/future-designs/gc-all.md b/doc/future-designs/gc-all.md
deleted file mode 100644
index b03ad9a4..00000000
--- a/doc/future-designs/gc-all.md
+++ /dev/null
@@ -1,28 +0,0 @@
-Full Garbage Collection
-===============================
-
-Motivation
-----------
-
-Over time, a lot of files accumulate in the local build root. `just` has a way
-to reclaim disk space while keeping the benefits of having a cache. At the same
-time, one of the steps of garbage collection is generational compactification.
-This is a mechanism for storing large objects in chunks, and it takes some time
-to scan the youngest generation and split up the large objects.
-
-Users may be interested in clearing the entire cache at once, so there is no
-need to worry about storage validity and spend extra time on compactification.
-Currently, there is no way to skip compactification, since this may invalidate
-the large object CAS. This results into the need for calling `just gc` several
-times manually, and the waiting time depends on the size of the youngest
-generation.
-
-Proposal
---------
-
-The `gc` command gets an additional mode that removes all generation folders
-without compactification.
-
-Update `just` `gc` command to support the `--all` flag. This flag is
-incompatible with `--no-rotate`, and an error must be reported if those two
-flags are met.
diff --git a/share/man/just.1.md b/share/man/just.1.md
index 0357e5cf..c538245a 100644
--- a/share/man/just.1.md
+++ b/share/man/just.1.md
@@ -288,6 +288,13 @@ As the non-rotating tasks can be useful in their own right, the
`--no-rotate` option can be used to request only the clean-up tasks
that do not lose information.
+If it is necessary to remove the entire cache, the `--all` option can
+be used to skip generation rotation and splitting of large files. In
+this scenario, all cache generations get removed starting from the
+oldest generation.
+
+`--no-rotate` and `--all` are incompatible options.
+
**`execute`**
-------------
@@ -835,7 +842,12 @@ operations will be removed, in a FIFO scheme. If unset, defaults to
**`--no-rotate`**
Do not rotate gargabe-collection generations. Instead, only carry
out clean up tasks that do not affect what is stored in the cache.
+Incompatible with `--all`.
+**`--all`**
+Do not rotate garbage-collection generations and do not split large
+files. Instead, remove all cache generations at once. Incompatible with
+`--no-rotate`.
EXIT STATUS
===========