]> git.ipfire.org Git - thirdparty/git.git/commit - t/t5504-fetch-receive-strict.sh
fsck: document and test sorted skipList input
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Mon, 3 Sep 2018 14:49:21 +0000 (14:49 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Sep 2018 22:17:46 +0000 (15:17 -0700)
commit58dc440b3cd34db29b54e87ef80e0da8cd507445
treefdce1ba1a86da45150d97e7bcabae9ad85436cd7
parent536a9ce80d32cf87664072ceebb08647c351a13a
fsck: document and test sorted skipList input

Ever since the skipList support was first added in cd94c6f91 ("fsck:
git receive-pack: support excluding objects from fsck'ing",
2015-06-22) the documentation for the format has that the file is a
sorted list of object names.

Thus, anyone using the feature would have thought the list needed to
be sorted. E.g. I recently in conjunction with my fetch.fsck.*
implementation in 1362df0d41 ("fetch: implement fetch.fsck.*",
2018-07-27) wrote some code to ship a skipList, and went out of my way
to sort it.

Doing so seems intuitive, since it contains fixed-width records, and
has no support for comments, so one might expect it to be binary
searched in-place on-disk.

However, as documented here this was never a requirement, so let's
change the documentation. Since this is a file format change let's
also document what was said about this in the past, so e.g. someone
like myself reading the new docs can see this never needed to be
sorted ("why do I have all this code to sort this thing...").

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
t/t5504-fetch-receive-strict.sh