1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 7.0.1" />
\r
7 <style type="text/css">
\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
\r
11 border: 1px solid red;
\r
16 margin: 1em 5% 1em 5%;
\r
20 a:visited { color: fuchsia; }
\r
34 h1, h2, h3, h4, h5, h6 {
\r
36 font-family: sans-serif;
\r
38 margin-bottom: 0.5em;
\r
43 border-bottom: 2px solid silver;
\r
46 border-bottom: 2px solid silver;
\r
56 border: 1px solid silver;
\r
61 margin-bottom: 0.5em;
\r
71 font-family: sans-serif;
\r
78 font-family: sans-serif;
\r
82 font-family: sans-serif;
\r
84 border-top: 2px solid silver;
\r
90 padding-bottom: 0.5em;
\r
94 padding-bottom: 0.5em;
\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
100 div.admonitionblock {
\r
103 margin-bottom: 1.5em;
\r
105 div.admonitionblock {
\r
107 margin-bottom: 2.5em;
\r
110 div.content { /* Block element content. */
\r
114 /* Block element titles. */
\r
115 div.title, caption.title {
\r
116 font-family: sans-serif;
\r
120 margin-bottom: 0.5em;
\r
126 td div.title:first-child {
\r
129 div.content div.title:first-child {
\r
132 div.content + div.title {
\r
136 div.sidebarblock > div.content {
\r
137 background: #ffffee;
\r
138 border: 1px solid silver;
\r
142 div.listingblock > div.content {
\r
143 border: 1px solid silver;
\r
144 background: #f4f4f4;
\r
148 div.quoteblock > div.content {
\r
149 padding-left: 2.0em;
\r
151 div.quoteblock .attribution {
\r
155 div.admonitionblock .icon {
\r
156 vertical-align: top;
\r
159 text-decoration: underline;
\r
161 padding-right: 0.5em;
\r
163 div.admonitionblock td.content {
\r
164 padding-left: 0.5em;
\r
165 border-left: 2px solid silver;
\r
168 div.exampleblock > div.content {
\r
169 border-left: 2px solid silver;
\r
173 div.verseblock div.content {
\r
177 div.imageblock div.content { padding-left: 0; }
\r
178 div.imageblock img { border: 1px solid silver; }
\r
179 span.image img { border-style: none; }
\r
183 margin-bottom: 0.8em;
\r
188 font-style: italic;
\r
190 dd > *:first-child {
\r
195 list-style-position: outside;
\r
198 list-style-type: lower-alpha;
\r
201 div.tableblock > table {
\r
202 border-color: #527bbd;
\r
206 font-family: sans-serif;
\r
215 margin-bottom: 0.8em;
\r
218 vertical-align: top;
\r
219 font-style: italic;
\r
220 padding-right: 0.8em;
\r
223 vertical-align: top;
\r
227 div#footer-badges { display: none; }
\r
229 include::./stylesheets/xhtml11-manpage.css[]
\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */
\r
232 div.sidebar-content {
\r
233 background: #ffffee;
\r
234 border: 1px solid silver;
\r
237 div.sidebar-title, div.image-title {
\r
238 font-family: sans-serif;
\r
241 margin-bottom: 0.5em;
\r
244 div.listingblock div.content {
\r
245 border: 1px solid silver;
\r
246 background: #f4f4f4;
\r
250 div.quoteblock-content {
\r
251 padding-left: 2.0em;
\r
254 div.exampleblock-content {
\r
255 border-left: 2px solid silver;
\r
256 padding-left: 0.5em;
\r
259 <title>git-fsck-objects(1)</title>
\r
264 git-fsck-objects(1) Manual Page
\r
267 <div class="sectionbody">
\r
268 <p>git-fsck-objects -
\r
269 Verifies the connectivity and validity of the objects in the database
\r
274 <div class="sectionbody">
\r
275 <div class="verseblock">
\r
276 <div class="content"><em>git-fsck-objects</em> [--tags] [--root] [--unreachable] [--cache]
\r
277 [--standalone | --full] [--strict] [<object>*]</div></div>
\r
279 <h2>DESCRIPTION</h2>
\r
280 <div class="sectionbody">
\r
281 <p>Verifies the connectivity and validity of the objects in the database.</p>
\r
284 <div class="sectionbody">
\r
291 An object to treat as the head of an unreachability trace.
\r
293 <p>If no objects are given, git-fsck-objects defaults to using the
\r
294 index file and all SHA1 references in .git/refs/* as heads.</p>
\r
301 Print out objects that exist but that aren't readable from any
\r
302 of the reference nodes.
\r
326 Consider any object recorded in the index also as a head node for
\r
327 an unreachability trace.
\r
335 Limit checks to the contents of GIT_OBJECT_DIRECTORY
\r
336 ($GIT_DIR/objects), making sure that it is consistent and
\r
337 complete without referring to objects found in alternate
\r
338 object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
\r
339 nor packed git archives found in $GIT_DIR/objects/pack;
\r
340 cannot be used with --full.
\r
348 Check not just objects in GIT_OBJECT_DIRECTORY
\r
349 ($GIT_DIR/objects), but also the ones found in alternate
\r
350 object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
\r
351 and in packed git archives found in $GIT_DIR/objects/pack
\r
352 and corresponding pack subdirectories in alternate
\r
353 object pools; cannot be used with --standalone.
\r
361 Enable more strict checking, namely to catch a file mode
\r
362 recorded with g+w bit set, which was created by older
\r
363 versions of git. Existing repositories, including the
\r
364 Linux kernel, git itself, and sparse repository have old
\r
365 objects that triggers this check, but it is recommended
\r
366 to check new projects with this flag.
\r
370 <p>It tests SHA1 and general object sanity, and it does full tracking of
\r
371 the resulting reachability and everything else. It prints out any
\r
372 corruption it finds (missing or bad objects), and if you use the
\r
373 <em>--unreachable</em> flag it will also print out objects that exist but
\r
374 that aren't readable from any of the specified head nodes.</p>
\r
375 <p>So for example</p>
\r
376 <div class="literalblock">
\r
377 <div class="content">
\r
378 <pre><tt>git-fsck-objects --unreachable HEAD $(cat .git/refs/heads/*)</tt></pre>
\r
380 <p>will do quite a _lot_ of verification on the tree. There are a few
\r
381 extra validity tests to be added (make sure that tree objects are
\r
382 sorted properly etc), but on the whole if "git-fsck-objects" is happy, you
\r
383 do have a valid tree.</p>
\r
384 <p>Any corrupt objects you will have to find in backups or other archives
\r
385 (ie you can just remove them and do an "rsync" with some other site in
\r
386 the hopes that somebody else has the object you have corrupted).</p>
\r
387 <p>Of course, "valid tree" doesn't mean that it wasn't generated by some
\r
388 evil person, and the end result might be crap. git is a revision
\r
389 tracking system, not a quality assurance system ;)</p>
\r
391 <h2>Extracted Diagnostics</h2>
\r
392 <div class="sectionbody">
\r
395 expect dangling commits - potential heads - due to lack of head information
\r
399 You haven't specified any nodes as heads so it won't be
\r
400 possible to differentiate between un-parented commits and
\r
405 missing sha1 directory <em><dir></em>
\r
409 The directory holding the sha1 objects is missing.
\r
413 unreachable <type> <object>
\r
417 The <type> object <object>, isn't actually referred to directly
\r
418 or indirectly in any of the trees or commits seen. This can
\r
419 mean that there's another root node that you're not specifying
\r
420 or that the tree is corrupt. If you haven't missed a root node
\r
421 then you might as well delete unreachable nodes since they
\r
426 missing <type> <object>
\r
430 The <type> object <object>, is referred to but isn't present in
\r
435 dangling <type> <object>
\r
439 The <type> object <object>, is present in the database but never
\r
440 <em>directly</em> used. A dangling commit could be a root node.
\r
444 warning: git-fsck-objects: tree <tree> has full pathnames in it
\r
448 And it shouldn't…
\r
452 sha1 mismatch <object>
\r
456 The database has an object who's sha1 doesn't match the
\r
458 This indicates a serious data integrity problem.
\r
463 <h2>Environment Variables</h2>
\r
464 <div class="sectionbody">
\r
467 GIT_OBJECT_DIRECTORY
\r
471 used to specify the object database root (usually $GIT_DIR/objects)
\r
479 used to specify the index file of the index
\r
483 GIT_ALTERNATE_OBJECT_DIRECTORIES
\r
487 used to specify additional object database roots (usually unset)
\r
493 <div class="sectionbody">
\r
494 <p>Written by Linus Torvalds <torvalds@osdl.org></p>
\r
496 <h2>Documentation</h2>
\r
497 <div class="sectionbody">
\r
498 <p>Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.</p>
\r
501 <div class="sectionbody">
\r
502 <p>Part of the <a href="git.html">git(7)</a> suite</p>
\r
505 <div id="footer-text">
\r
506 Last updated 06-Jan-2006 17:12:31 PDT
\r