git/Documentation/technical
Patrick Steinhardt d7497a42b0 setup: introduce "extensions.refStorage" extension
Introduce a new "extensions.refStorage" extension that allows us to
specify the ref storage format used by a repository. For now, the only
supported format is the "files" format, but this list will likely soon
be extended to also support the upcoming "reftable" format.

There have been discussions on the Git mailing list in the past around
how exactly this extension should look like. One alternative [1] that
was discussed was whether it would make sense to model the extension in
such a way that backends are arbitrarily stackable. This would allow for
a combined value of e.g. "loose,packed-refs" or "loose,reftable", which
indicates that new refs would be written via "loose" files backend and
compressed into "packed-refs" or "reftable" backends, respectively.

It is arguable though whether this flexibility and the complexity that
it brings with it is really required for now. It is not foreseeable that
there will be a proliferation of backends in the near-term future, and
the current set of existing formats and formats which are on the horizon
can easily be configured with the much simpler proposal where we have a
single value, only.

Furthermore, if we ever see that we indeed want to gain the ability to
arbitrarily stack the ref formats, then we can adapt the current
extension rather easily. Given that Git clients will refuse any unknown
value for the "extensions.refStorage" extension they would also know to
ignore a stacked "loose,packed-refs" in the future.

So let's stick with the easy proposal for the time being and wire up the
extension.

[1]: <pull.1408.git.1667846164.gitgitgadget@gmail.com>

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-01-02 09:24:48 -08:00
..
.gitignore
api-error-handling.txt api docs: link to html version of api-trace2 2022-09-16 08:39:11 -07:00
api-index-skel.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
api-index.sh
api-merge.txt merge-ll: rename from ll-merge 2023-06-21 13:39:54 -07:00
api-parse-options.txt Documentation: clean up various typos in technical docs 2022-09-21 10:28:36 -07:00
api-simple-ipc.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
api-trace2.txt trace2: add global counter mechanism 2022-10-24 12:45:26 -07:00
bitmap-format.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
bundle-uri.txt bundle-uri: drop bundle.flag from design doc 2023-01-31 08:57:48 -08:00
commit-graph.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
directory-rename-detection.txt directory-rename-detection.txt: small updates due to merge-ort optimizations 2021-08-05 08:57:39 -07:00
hash-function-transition.txt Documentation: render dash correctly 2023-01-23 09:40:14 -08:00
long-running-process-protocol.txt docs: move protocol-related docs to man section 5 2022-08-04 14:12:23 -07:00
multi-pack-index.txt midx.c: make changing the preferred pack safe 2022-01-27 12:07:52 -08:00
pack-heuristics.txt
packfile-uri.txt docs: move protocol-related docs to man section 5 2022-08-04 14:12:23 -07:00
parallel-checkout.txt documentation: add missing quotes 2023-10-09 12:06:47 -07:00
partial-clone.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
racy-git.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
reftable.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
remembering-renames.txt docs: typofixes 2023-06-12 13:52:51 -07:00
repository-version.txt setup: introduce "extensions.refStorage" extension 2024-01-02 09:24:48 -08:00
rerere.txt documentation: remove extraneous words 2023-10-09 12:06:29 -07:00
scalar.txt Documentation/technical: include Scalar technical doc 2022-09-02 10:02:56 -07:00
send-pack-pipeline.txt
shallow.txt shallow.txt: document SHA-256 shallow format 2020-08-17 10:35:13 -07:00
sparse-checkout.txt sparse-checkout.txt: new document with sparse-checkout directions 2022-11-07 18:15:45 -05:00
sparse-index.txt sparse-index: API protection strategy 2021-04-14 13:45:34 -07:00
trivial-merge.txt treewide: correct several "up-to-date" to "up to date" 2017-08-23 12:17:22 -07:00
unit-tests.txt unit tests: add a project plan document 2023-11-10 08:15:25 +09:00