Support reftable ref backend for Git#1054
Support reftable ref backend for Git#1054hanwen wants to merge 25 commits intogit:masterfrom hanwen:libreftable
Conversation
|
/submit |
|
Submitted as pull.1054.git.git.1626800686.gitgitgadget@gmail.com To fetch this version into To fetch this version to local tag |
|
This branch is now known as |
|
This patch series was integrated into seen via f55539d. |
|
This patch series was integrated into seen via 57102f2. |
|
This patch series was integrated into seen via bd46e67. |
|
This patch series was integrated into seen via 45f92dd. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. |
|
This patch series was integrated into seen via 1871e2f. |
|
This patch series was integrated into seen via 7cfeb34. |
|
This patch series was integrated into seen via d80dfcd. |
|
This patch series was integrated into seen via bdce115. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. |
|
This patch series was integrated into seen via dbf640e. |
|
This patch series was integrated into seen via e5c19a9. |
|
This patch series was integrated into seen via 94646ba. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. Seems to break CI jobs in 'seen'. |
|
This patch series was integrated into seen via fad749e. |
|
This patch series was integrated into seen via 13ec157. |
|
This patch series was integrated into seen via 2d869d8. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. Seems to break CI jobs in 'seen'. |
|
This patch series was integrated into seen via c40aa07. |
|
This patch series was integrated into seen via 3a7adf1. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. Seems to break CI jobs in 'seen'. |
|
This patch series was integrated into seen via 22ab9da. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. Seems to break CI jobs in 'seen'. cf. https://github.com/git/git/runs/3257622953?check_suite_focus=3Dtrue#= step:4:1685 |
|
This patch series was integrated into seen via a15fa07. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. Seems to break CI jobs in 'seen'. cf. https://github.com/git/git/runs/3257622953?check_suite_focus=3Dtrue#= step:4:1685 |
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
provide a command-line utility for inspecting individual tables, and inspecting a complete ref database Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
This command dumps individual tables or a stack of of tables. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
The reftable backend needs to know the hash algorithm for writing the initialization hash table. The initial reftable contains a symref HEAD => "main" (or "master"), which is agnostic to the size of hash value, but this is an exceptional circumstance, and the reftable library does not cater to this exception. It insists that all tables in the stack have a consistent format ID for the hash algorithm. Call set_repo_hash_algo directly after calling validate_hash_algorithm() (which reads $GIT_DEFAULT_HASH). Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
|
On the Git mailing list, Ævar Arnfjörð Bjarmason wrote (reply to this): |
|
User |
For background, see Documentation/technical/reftable.txt. This introduces the file refs/reftable-backend.c containing a reftable-powered ref storage backend. It can be activated by setting GIT_TEST_REFTABLE in the environment. When GIT_TEST_REFTABLE is set, the test prerequisite !REFFILES is set. There is no option to git-init for now, as the test suite still shows failures with GIT_TEST_REFTABLE=1. Example use: see t/t0031-reftable.sh Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de> Helped-by: Junio Hamano <gitster@pobox.com> Helped-by: Patrick Steinhardt <patrick.steinhardt@elego.de> Co-authored-by: Jeff King <peff@peff.net>
In our git-prompt script we strive to use Bash builtins wherever possible, because fork()-ing subshells for command substitutions and fork()+exec()-ing Git commands are expensive on some platforms. We even read and parse '.git/HEAD' using Bash builtins to get the name of the current branch [1]. However, the upcoming reftable refs backend won't use '.git/HEAD' at all, but will write an invalid refname as placeholder for backwards compatibility instead, which will break our git-prompt script. Update the git-prompt script to recognize the placeholder '.git/HEAD' written by the reftable backend (its content is specified in the reftable specs), and then fall back to use 'git symbolic-ref' to get the name of the current branch. [1] 3a43c4b (bash prompt: use bash builtins to find out current branch, 2011-03-31) Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* Reftable for now lacks detailed error messages for directory/file conflicts. Skip message comparisons. * Mark tests that muck with .git directly as REFFILES. Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
|
This patch series was integrated into seen via 364cf33. |
|
This patch series was integrated into seen via fa30190. |
|
This patch series was integrated into seen via ee9e84b. |
|
This patch series was integrated into seen via 8a94a63. |
|
This patch series was integrated into seen via 3d89fcd. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. |
|
This patch series was integrated into seen via d1bad54. |
|
This patch series was integrated into seen via 11bad4c. |
|
This patch series was integrated into seen via 4e18755. |
|
This patch series was integrated into seen via d009cb5. |
|
There was a status update in the "Cooking" section about the branch The "reftable" backend for the refs API. |
|
This patch series was integrated into seen via c5d5360. |
|
This patch series was integrated into seen via abe2dc2. |
|
This patch series was integrated into seen via a2ede59. |
|
This patch series was integrated into seen via d4f001f. |
|
There was a status update in the "Graduated to 'master'" section about the branch The "reftable" backend for the refs API, without integrating into the refs subsystem, has been added. source: <pull.1081.v4.git.git.1633638315.gitgitgadget@gmail.com> |
|
closing this; the library has been merged, support in Git itself is tracked in PR #1215 |
This continues the work in #847, which the gitgitgadget erroneously closed.
Changes relative to last series (version 17 Aug 2021, tip: 3110d6e)
For the 'seen' branch, the following should be applied:
cc: Carlo Marcelo Arenas Belón carenas@gmail.com
cc: Han-Wen Nienhuys hanwen@google.com
cc: Philip Oakley philipoakley@iee.email
cc: Ævar Arnfjörð Bjarmason avarab@gmail.com
cc: Carlo Arenas carenas@gmail.com
cc: Han-Wen Nienhuys hanwen@google.com
cc: Ævar Arnfjörð Bjarmason avarab@gmail.com