Git fork

fsck: document msg-id

The documentation lacks mention of specific <msg-id> that are supported.
While git-help --config will display a list of these options, often
developers' first instinct is to consult the git docs to find valid
config values.

Add a list of fsck error messages, and link to it from the git-fsck
documentation.

Signed-off-by: John Cai <johncai86@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

John Cai and committed by
Junio C Hamano
f6534dbd 7edfb883

+183
+4
Documentation/config/fsck.txt
··· 35 35 Setting an unknown `fsck.<msg-id>` value will cause fsck to die, but 36 36 doing the same for `receive.fsck.<msg-id>` and `fetch.fsck.<msg-id>` 37 37 will only cause git to warn. 38 + + 39 + See `Fsck Messages` section of linkgit:git-fsck[1] for supported 40 + values of `<msg-id>`. 41 + 38 42 39 43 fsck.skipList:: 40 44 The path to a list of object names (i.e. one unabbreviated SHA-1 per
+161
Documentation/fsck-msgids.txt
··· 1 + `badDate`:: 2 + (ERROR) Invalid date format in an author/committer line. 3 + 4 + `badDateOverflow`:: 5 + (ERROR) Invalid date value in an author/committer line. 6 + 7 + `badEmail`:: 8 + (ERROR) Invalid email format in an author/committer line. 9 + 10 + `badFilemode`:: 11 + (INFO) A tree contains a bad filemode entry. 12 + 13 + `badName`:: 14 + (ERROR) An author/committer name is empty. 15 + 16 + `badObjectSha1`:: 17 + (ERROR) An object has a bad sha1. 18 + 19 + `badParentSha1`:: 20 + (ERROR) A commit object has a bad parent sha1. 21 + 22 + `badTagName`:: 23 + (INFO) A tag has an invalid format. 24 + 25 + `badTimezone`:: 26 + (ERROR) Found an invalid time zone in an author/committer line. 27 + 28 + `badTree`:: 29 + (ERROR) A tree cannot be parsed. 30 + 31 + `badTreeSha1`:: 32 + (ERROR) A tree has an invalid format. 33 + 34 + `badType`:: 35 + (ERROR) Found an invalid object type. 36 + 37 + `duplicateEntries`:: 38 + (ERROR) A tree contains duplicate file entries. 39 + 40 + `emptyName`:: 41 + (WARN) A path contains an empty name. 42 + 43 + `extraHeaderEntry`:: 44 + (IGNORE) Extra headers found after `tagger`. 45 + 46 + `fullPathname`:: 47 + (WARN) A path contains the full path starting with "/". 48 + 49 + `gitattributesSymlink`:: 50 + (INFO) `.gitattributes` is a symlink. 51 + 52 + `gitignoreSymlink`:: 53 + (INFO) `.gitignore` is a symlink. 54 + 55 + `gitmodulesBlob`:: 56 + (ERROR) A non-blob found at `.gitmodules`. 57 + 58 + `gitmodulesLarge`:: 59 + (ERROR) The `.gitmodules` file is too large to parse. 60 + 61 + `gitmodulesMissing`:: 62 + (ERROR) Unable to read `.gitmodules` blob. 63 + 64 + `gitmodulesName`:: 65 + (ERROR) A submodule name is invalid. 66 + 67 + `gitmodulesParse`:: 68 + (INFO) Could not parse `.gitmodules` blob. 69 + 70 + `gitmodulesLarge`; 71 + (ERROR) `.gitmodules` blob is too large to parse. 72 + 73 + `gitmodulesPath`:: 74 + (ERROR) `.gitmodules` path is invalid. 75 + 76 + `gitmodulesSymlink`:: 77 + (ERROR) `.gitmodules` is a symlink. 78 + 79 + `gitmodulesUpdate`:: 80 + (ERROR) Found an invalid submodule update setting. 81 + 82 + `gitmodulesUrl`:: 83 + (ERROR) Found an invalid submodule url. 84 + 85 + `hasDot`:: 86 + (WARN) A tree contains an entry named `.`. 87 + 88 + `hasDotdot`:: 89 + (WARN) A tree contains an entry named `..`. 90 + 91 + `hasDotgit`:: 92 + (WARN) A tree contains an entry named `.git`. 93 + 94 + `mailmapSymlink`:: 95 + (INFO) `.mailmap` is a symlink. 96 + 97 + `missingAuthor`:: 98 + (ERROR) Author is missing. 99 + 100 + `missingCommitter`:: 101 + (ERROR) Committer is missing. 102 + 103 + `missingEmail`:: 104 + (ERROR) Email is missing in an author/committer line. 105 + 106 + `missingNameBeforeEmail`:: 107 + (ERROR) Missing name before an email in an author/committer line. 108 + 109 + `missingObject`:: 110 + (ERROR) Missing `object` line in tag object. 111 + 112 + `missingSpaceBeforeDate`:: 113 + (ERROR) Missing space before date in an author/committer line. 114 + 115 + `missingSpaceBeforeEmail`:: 116 + (ERROR) Missing space before the email in author/committer line. 117 + 118 + `missingTag`:: 119 + (ERROR) Unexpected end after `type` line in a tag object. 120 + 121 + `missingTagEntry`:: 122 + (ERROR) Missing `tag` line in a tag object. 123 + 124 + `missingTaggerEntry`:: 125 + (INFO) Missing `tagger` line in a tag object. 126 + 127 + `missingTree`:: 128 + (ERROR) Missing `tree` line in a commit object. 129 + 130 + `missingType`:: 131 + (ERROR) Invalid type value on the `type` line in a tag object. 132 + 133 + `missingTypeEntry`:: 134 + (ERROR) Missing `type` line in a tag object. 135 + 136 + `multipleAuthors`:: 137 + (ERROR) Multiple author lines found in a commit. 138 + 139 + `nulInCommit`:: 140 + (WARN) Found a NUL byte in the commit object body. 141 + 142 + `nulInHeader`:: 143 + (FATAL) NUL byte exists in the object header. 144 + 145 + `nullSha1`:: 146 + (WARN) Tree contains entries pointing to a null sha1. 147 + 148 + `treeNotSorted`:: 149 + (ERROR) A tree is not properly sorted. 150 + 151 + `unknownType`:: 152 + (ERROR) Found an unknown object type. 153 + 154 + `unterminatedHeader`:: 155 + (FATAL) Missing end-of-line in the object header. 156 + 157 + `zeroPaddedDate`:: 158 + (ERROR) Found a zero padded date in an author/commiter line. 159 + 160 + `zeroPaddedFilemode`:: 161 + (WARN) Found a zero padded filemode in a tree.
+12
Documentation/git-fsck.txt
··· 152 152 object database value. 153 153 This indicates a serious data integrity problem. 154 154 155 + 156 + FSCK MESSAGES 157 + ------------- 158 + 159 + The following lists the types of errors `git fsck` detects and what 160 + each error means, with their default severity. The severity of the 161 + error, other than those that are marked as "(FATAL)", can be tweaked 162 + by setting the corresponding `fsck.<msg-id>` configuration variable. 163 + 164 + include::fsck-msgids.txt[] 165 + 166 + 155 167 Environment Variables 156 168 --------------------- 157 169
+6
fsck.h
··· 13 13 FSCK_WARN, 14 14 }; 15 15 16 + /* 17 + * Documentation/fsck-msgids.txt documents these; when 18 + * modifying this list in any way, make sure to keep the 19 + * two in sync. 20 + */ 21 + 16 22 #define FOREACH_FSCK_MSG_ID(FUNC) \ 17 23 /* fatal errors */ \ 18 24 FUNC(NUL_IN_HEADER, FATAL) \