diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-10-10 06:37:16 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-10-10 06:37:16 +0300 |
commit | 66ec2373feaf1f85c0ed3f9b5b13f005bfd4dba4 (patch) | |
tree | 664557dc25990e380b08aee3ae921bb1a7e7f45a /Documentation | |
parent | 468b322137900dfd508adc69692e484d6dafe991 (diff) | |
parent | 371a6550741e38abe6162d891e8d4102dd20f5a6 (diff) |
Merge branch 'ab/fsck-skiplist'
Update fsck.skipList implementation and documentation.
* ab/fsck-skiplist:
fsck: support comments & empty lines in skipList
fsck: use oidset instead of oid_array for skipList
fsck: use strbuf_getline() to read skiplist file
fsck: add a performance test for skipList
fsck: add a performance test
fsck: document that skipList input must be unabbreviated
fsck: document and test commented & empty line skipList input
fsck: document and test sorted skipList input
fsck tests: add a test for no skipList input
fsck tests: setup of bogus commit object
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index fa52b19dff..1546833213 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1567,12 +1567,16 @@ doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` will only cause git to warn. fsck.skipList:: - The path to a sorted list of object names (i.e. one SHA-1 per + The path to a list of object names (i.e. one unabbreviated SHA-1 per line) that are known to be broken in a non-fatal way and should - be ignored. This feature is useful when an established project - should be accepted despite early commits containing errors that - can be safely ignored such as invalid committer email addresses. - Note: corrupt objects cannot be skipped with this setting. + be ignored. On versions of Git 2.20 and later comments ('#'), empty + lines, and any leading and trailing whitespace is ignored. Everything + but a SHA-1 per line will error out on older versions. ++ +This feature is useful when an established project should be accepted +despite early commits containing errors that can be safely ignored +such as invalid committer email addresses. Note: corrupt objects +cannot be skipped with this setting. + Like `fsck.<msg-id>` this variable has corresponding `receive.fsck.skipList` and `fetch.fsck.skipList` variants. @@ -1582,6 +1586,15 @@ Unlike variables like `color.ui` and `core.editor` the fall back on the `fsck.skipList` configuration if they aren't set. To uniformly configure the same fsck settings in different circumstances all three of them they must all set to the same values. ++ +Older versions of Git (before 2.20) documented that the object names +list should be sorted. This was never a requirement, the object names +could appear in any order, but when reading the list we tracked whether +the list was sorted for the purposes of an internal binary search +implementation, which could save itself some work with an already sorted +list. Unless you had a humongous list there was no reason to go out of +your way to pre-sort the list. After Git version 2.20 a hash implementation +is used instead, so there's now no reason to pre-sort the list. gc.aggressiveDepth:: The depth parameter used in the delta compression |