blob: faf11108be117312a7c5f684a7a3921bba640ad0 [file] [log] [blame]
Junio C Hamano7ad22dc2007-01-29 02:55:481<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano7bd050f2011-09-22 06:32:226<meta name="generator" content="AsciiDoc 8.5.2" />
Junio C Hamanocdd1c332010-12-20 10:08:007<title>git-fsck(1)</title>
Junio C Hamano7ad22dc2007-01-29 02:55:488<style type="text/css">
9/* Debug borders */
10p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11/*
12 border: 1px solid red;
13*/
14}
15
16body {
17 margin: 1em 5% 1em 5%;
18}
19
Junio C Hamanoba4b9282008-07-06 05:20:3120a {
21 color: blue;
22 text-decoration: underline;
23}
24a:visited {
25 color: fuchsia;
26}
Junio C Hamano7ad22dc2007-01-29 02:55:4827
28em {
29 font-style: italic;
Junio C Hamanocdd1c332010-12-20 10:08:0030 color: navy;
Junio C Hamano7ad22dc2007-01-29 02:55:4831}
32
33strong {
34 font-weight: bold;
Junio C Hamanocdd1c332010-12-20 10:08:0035 color: #083194;
Junio C Hamano7ad22dc2007-01-29 02:55:4836}
37
38tt {
39 color: navy;
40}
41
42h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
48}
49
Junio C Hamanoba4b9282008-07-06 05:20:3150h1, h2, h3 {
Junio C Hamano7ad22dc2007-01-29 02:55:4851 border-bottom: 2px solid silver;
52}
53h2 {
Junio C Hamano7ad22dc2007-01-29 02:55:4854 padding-top: 0.5em;
55}
Junio C Hamanoba4b9282008-07-06 05:20:3156h3 {
57 float: left;
58}
59h3 + * {
60 clear: left;
61}
Junio C Hamano7ad22dc2007-01-29 02:55:4862
63div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
66}
67
68hr {
69 border: 1px solid silver;
70}
71
72p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
75}
76
Junio C Hamanocdd1c332010-12-20 10:08:0077ul, ol, li > p {
78 margin-top: 0;
79}
80
Junio C Hamano7ad22dc2007-01-29 02:55:4881pre {
82 padding: 0;
83 margin: 0;
84}
85
86span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3190 font-size: 1.1em;
Junio C Hamano7ad22dc2007-01-29 02:55:4891}
92span#email {
93}
Junio C Hamanocdd1c332010-12-20 10:08:0094span#revnumber, span#revdate, span#revremark {
Junio C Hamano7ad22dc2007-01-29 02:55:4895 font-family: sans-serif;
96}
97
98div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
104}
105div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
108}
109div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
112}
113
Junio C Hamanocdd1c332010-12-20 10:08:00114div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
117}
Junio C Hamano7ad22dc2007-01-29 02:55:48118div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22121 margin-top: 1.0em;
Junio C Hamano7ad22dc2007-01-29 02:55:48122 margin-bottom: 1.5em;
123}
124div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22125 margin-top: 2.0em;
126 margin-bottom: 2.0em;
127 margin-right: 10%;
128 color: #606060;
Junio C Hamano7ad22dc2007-01-29 02:55:48129}
130
131div.content { /* Block element content. */
132 padding: 0;
133}
134
135/* Block element titles. */
136div.title, caption.title {
Junio C Hamanocdd1c332010-12-20 10:08:00137 color: #527bbd;
Junio C Hamano7ad22dc2007-01-29 02:55:48138 font-family: sans-serif;
139 font-weight: bold;
140 text-align: left;
141 margin-top: 1.0em;
142 margin-bottom: 0.5em;
143}
144div.title + * {
145 margin-top: 0;
146}
147
148td div.title:first-child {
149 margin-top: 0.0em;
150}
151div.content div.title:first-child {
152 margin-top: 0.0em;
153}
154div.content + div.title {
155 margin-top: 0.0em;
156}
157
158div.sidebarblock > div.content {
159 background: #ffffee;
160 border: 1px solid silver;
161 padding: 0.5em;
162}
163
164div.listingblock > div.content {
165 border: 1px solid silver;
166 background: #f4f4f4;
167 padding: 0.5em;
168}
169
Junio C Hamano7bd050f2011-09-22 06:32:22170div.quoteblock, div.verseblock {
171 padding-left: 1.0em;
172 margin-left: 1.0em;
Junio C Hamanocdd1c332010-12-20 10:08:00173 margin-right: 10%;
Junio C Hamano7bd050f2011-09-22 06:32:22174 border-left: 5px solid #dddddd;
175 color: #777777;
Junio C Hamano7ad22dc2007-01-29 02:55:48176}
Junio C Hamano7bd050f2011-09-22 06:32:22177
Junio C Hamanocdd1c332010-12-20 10:08:00178div.quoteblock > div.attribution {
179 padding-top: 0.5em;
Junio C Hamano7ad22dc2007-01-29 02:55:48180 text-align: right;
181}
Junio C Hamanocdd1c332010-12-20 10:08:00182
Junio C Hamanocdd1c332010-12-20 10:08:00183div.verseblock > div.content {
184 white-space: pre;
185}
186div.verseblock > div.attribution {
187 padding-top: 0.75em;
188 text-align: left;
189}
190/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamanoba4b9282008-07-06 05:20:31191div.verseblock + div.attribution {
192 text-align: left;
193}
Junio C Hamano7ad22dc2007-01-29 02:55:48194
195div.admonitionblock .icon {
196 vertical-align: top;
197 font-size: 1.1em;
198 font-weight: bold;
199 text-decoration: underline;
200 color: #527bbd;
201 padding-right: 0.5em;
202}
203div.admonitionblock td.content {
204 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22205 border-left: 3px solid #dddddd;
Junio C Hamano7ad22dc2007-01-29 02:55:48206}
207
208div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22209 border-left: 3px solid #dddddd;
210 padding-left: 0.5em;
Junio C Hamano7ad22dc2007-01-29 02:55:48211}
212
Junio C Hamano7ad22dc2007-01-29 02:55:48213div.imageblock div.content { padding-left: 0; }
Junio C Hamano7ad22dc2007-01-29 02:55:48214span.image img { border-style: none; }
Junio C Hamanocdd1c332010-12-20 10:08:00215a.image:visited { color: white; }
Junio C Hamano7ad22dc2007-01-29 02:55:48216
217dl {
218 margin-top: 0.8em;
219 margin-bottom: 0.8em;
220}
221dt {
222 margin-top: 0.5em;
223 margin-bottom: 0;
Junio C Hamanocdd1c332010-12-20 10:08:00224 font-style: normal;
225 color: navy;
Junio C Hamano7ad22dc2007-01-29 02:55:48226}
227dd > *:first-child {
Junio C Hamanocdd1c332010-12-20 10:08:00228 margin-top: 0.1em;
Junio C Hamano7ad22dc2007-01-29 02:55:48229}
230
231ul, ol {
232 list-style-position: outside;
233}
Junio C Hamanocdd1c332010-12-20 10:08:00234ol.arabic {
235 list-style-type: decimal;
236}
237ol.loweralpha {
Junio C Hamano7ad22dc2007-01-29 02:55:48238 list-style-type: lower-alpha;
239}
Junio C Hamanocdd1c332010-12-20 10:08:00240ol.upperalpha {
241 list-style-type: upper-alpha;
242}
243ol.lowerroman {
244 list-style-type: lower-roman;
245}
246ol.upperroman {
247 list-style-type: upper-roman;
248}
249
250div.compact ul, div.compact ol,
251div.compact p, div.compact p,
252div.compact div, div.compact div {
253 margin-top: 0.1em;
254 margin-bottom: 0.1em;
255}
Junio C Hamano7ad22dc2007-01-29 02:55:48256
257div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31258 border: 3px solid #527bbd;
Junio C Hamano7ad22dc2007-01-29 02:55:48259}
Junio C Hamano7bd050f2011-09-22 06:32:22260thead, p.table.header {
Junio C Hamano7ad22dc2007-01-29 02:55:48261 font-family: sans-serif;
262 font-weight: bold;
263}
264tfoot {
265 font-weight: bold;
266}
Junio C Hamanocdd1c332010-12-20 10:08:00267td > div.verse {
268 white-space: pre;
269}
270p.table {
271 margin-top: 0;
272}
273/* Because the table frame attribute is overriden by CSS in most browsers. */
274div.tableblock > table[frame="void"] {
275 border-style: none;
276}
277div.tableblock > table[frame="hsides"] {
278 border-left-style: none;
279 border-right-style: none;
280}
281div.tableblock > table[frame="vsides"] {
282 border-top-style: none;
283 border-bottom-style: none;
284}
Junio C Hamano7ad22dc2007-01-29 02:55:48285
Junio C Hamanocdd1c332010-12-20 10:08:00286
287div.hdlist {
Junio C Hamano7ad22dc2007-01-29 02:55:48288 margin-top: 0.8em;
289 margin-bottom: 0.8em;
290}
Junio C Hamanocdd1c332010-12-20 10:08:00291div.hdlist tr {
292 padding-bottom: 15px;
Junio C Hamanoba4b9282008-07-06 05:20:31293}
Junio C Hamanocdd1c332010-12-20 10:08:00294dt.hdlist1.strong, td.hdlist1.strong {
295 font-weight: bold;
296}
297td.hdlist1 {
Junio C Hamano7ad22dc2007-01-29 02:55:48298 vertical-align: top;
Junio C Hamanocdd1c332010-12-20 10:08:00299 font-style: normal;
Junio C Hamano7ad22dc2007-01-29 02:55:48300 padding-right: 0.8em;
Junio C Hamanocdd1c332010-12-20 10:08:00301 color: navy;
Junio C Hamano7ad22dc2007-01-29 02:55:48302}
Junio C Hamanocdd1c332010-12-20 10:08:00303td.hdlist2 {
Junio C Hamano7ad22dc2007-01-29 02:55:48304 vertical-align: top;
305}
Junio C Hamanocdd1c332010-12-20 10:08:00306div.hdlist.compact tr {
307 margin: 0;
308 padding-bottom: 0;
309}
310
311.comment {
312 background: yellow;
313}
Junio C Hamano7ad22dc2007-01-29 02:55:48314
Junio C Hamano7bd050f2011-09-22 06:32:22315.footnote, .footnoteref {
316 font-size: 0.8em;
317}
318
319span.footnote, span.footnoteref {
320 vertical-align: super;
321}
322
323#footnotes {
324 margin: 20px 0 20px 0;
325 padding: 7px 0 0 0;
326}
327
328#footnotes div.footnote {
329 margin: 0 0 5px 0;
330}
331
332#footnotes hr {
333 border: none;
334 border-top: 1px solid silver;
335 height: 1px;
336 text-align: left;
337 margin-left: 0;
338 width: 20%;
339 min-width: 100px;
340}
341
342
Junio C Hamano7ad22dc2007-01-29 02:55:48343@media print {
344 div#footer-badges { display: none; }
345}
Junio C Hamanoba4b9282008-07-06 05:20:31346
Junio C Hamano7bd050f2011-09-22 06:32:22347div#toc {
348 margin-bottom: 2.5em;
349}
350
Junio C Hamanoba4b9282008-07-06 05:20:31351div#toctitle {
352 color: #527bbd;
353 font-family: sans-serif;
354 font-size: 1.1em;
355 font-weight: bold;
356 margin-top: 1.0em;
357 margin-bottom: 0.1em;
358}
359
360div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
361 margin-top: 0;
362 margin-bottom: 0;
363}
364div.toclevel2 {
365 margin-left: 2em;
366 font-size: 0.9em;
367}
368div.toclevel3 {
369 margin-left: 4em;
370 font-size: 0.9em;
371}
372div.toclevel4 {
373 margin-left: 6em;
374 font-size: 0.9em;
375}
Junio C Hamanocdd1c332010-12-20 10:08:00376/* Overrides for manpage documents */
377h1 {
378 padding-top: 0.5em;
379 padding-bottom: 0.5em;
380 border-top: 2px solid silver;
381 border-bottom: 2px solid silver;
382}
383h2 {
384 border-style: none;
385}
386div.sectionbody {
387 margin-left: 5%;
388}
389
390@media print {
391 div#toc { display: none; }
392}
393
Junio C Hamano7ad22dc2007-01-29 02:55:48394/* Workarounds for IE6's broken and incomplete CSS2. */
395
396div.sidebar-content {
397 background: #ffffee;
398 border: 1px solid silver;
399 padding: 0.5em;
400}
401div.sidebar-title, div.image-title {
Junio C Hamanocdd1c332010-12-20 10:08:00402 color: #527bbd;
Junio C Hamano7ad22dc2007-01-29 02:55:48403 font-family: sans-serif;
404 font-weight: bold;
405 margin-top: 0.0em;
406 margin-bottom: 0.5em;
407}
408
409div.listingblock div.content {
410 border: 1px solid silver;
411 background: #f4f4f4;
412 padding: 0.5em;
413}
414
Junio C Hamanocdd1c332010-12-20 10:08:00415div.quoteblock-attribution {
416 padding-top: 0.5em;
417 text-align: right;
418}
419
420div.verseblock-content {
421 white-space: pre;
422}
423div.verseblock-attribution {
424 padding-top: 0.75em;
425 text-align: left;
Junio C Hamano7ad22dc2007-01-29 02:55:48426}
427
428div.exampleblock-content {
Junio C Hamano7bd050f2011-09-22 06:32:22429 border-left: 3px solid #dddddd;
Junio C Hamano7ad22dc2007-01-29 02:55:48430 padding-left: 0.5em;
431}
Junio C Hamanoba4b9282008-07-06 05:20:31432
433/* IE6 sets dynamically generated links as visited. */
434div#toc a:visited { color: blue; }
Junio C Hamano7ad22dc2007-01-29 02:55:48435</style>
Junio C Hamano7bd050f2011-09-22 06:32:22436<script type="text/javascript">
437/*<![CDATA[*/
438window.onload = function(){asciidoc.footnotes();}
439var asciidoc = { // Namespace.
440
441/////////////////////////////////////////////////////////////////////
442// Table Of Contents generator
443/////////////////////////////////////////////////////////////////////
444
445/* Author: Mihai Bazon, September 2002
446 * http://students.infoiasi.ro/~mishoo
447 *
448 * Table Of Content generator
449 * Version: 0.4
450 *
451 * Feel free to use this script under the terms of the GNU General Public
452 * License, as long as you do not remove or alter this notice.
453 */
454
455 /* modified by Troy D. Hanson, September 2006. License: GPL */
456 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
457
458// toclevels = 1..4.
459toc: function (toclevels) {
460
461 function getText(el) {
462 var text = "";
463 for (var i = el.firstChild; i != null; i = i.nextSibling) {
464 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
465 text += i.data;
466 else if (i.firstChild != null)
467 text += getText(i);
468 }
469 return text;
470 }
471
472 function TocEntry(el, text, toclevel) {
473 this.element = el;
474 this.text = text;
475 this.toclevel = toclevel;
476 }
477
478 function tocEntries(el, toclevels) {
479 var result = new Array;
480 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
481 // Function that scans the DOM tree for header elements (the DOM2
482 // nodeIterator API would be a better technique but not supported by all
483 // browsers).
484 var iterate = function (el) {
485 for (var i = el.firstChild; i != null; i = i.nextSibling) {
486 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
487 var mo = re.exec(i.tagName);
488 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
489 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
490 }
491 iterate(i);
492 }
493 }
494 }
495 iterate(el);
496 return result;
497 }
498
499 var toc = document.getElementById("toc");
500 var entries = tocEntries(document.getElementById("content"), toclevels);
501 for (var i = 0; i < entries.length; ++i) {
502 var entry = entries[i];
503 if (entry.element.id == "")
504 entry.element.id = "_toc_" + i;
505 var a = document.createElement("a");
506 a.href = "#" + entry.element.id;
507 a.appendChild(document.createTextNode(entry.text));
508 var div = document.createElement("div");
509 div.appendChild(a);
510 div.className = "toclevel" + entry.toclevel;
511 toc.appendChild(div);
512 }
513 if (entries.length == 0)
514 toc.parentNode.removeChild(toc);
515},
516
517
518/////////////////////////////////////////////////////////////////////
519// Footnotes generator
520/////////////////////////////////////////////////////////////////////
521
522/* Based on footnote generation code from:
523 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
524 */
525
526footnotes: function () {
527 var cont = document.getElementById("content");
528 var noteholder = document.getElementById("footnotes");
529 var spans = cont.getElementsByTagName("span");
530 var refs = {};
531 var n = 0;
532 for (i=0; i<spans.length; i++) {
533 if (spans[i].className == "footnote") {
534 n++;
535 // Use [\s\S] in place of . so multi-line matches work.
536 // Because JavaScript has no s (dotall) regex flag.
537 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
538 noteholder.innerHTML +=
539 "<div class='footnote' id='_footnote_" + n + "'>" +
540 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
541 n + "</a>. " + note + "</div>";
542 spans[i].innerHTML =
543 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
544 "' title='View footnote' class='footnote'>" + n + "</a>]";
545 var id =spans[i].getAttribute("id");
546 if (id != null) refs["#"+id] = n;
547 }
548 }
549 if (n == 0)
550 noteholder.parentNode.removeChild(noteholder);
551 else {
552 // Process footnoterefs.
553 for (i=0; i<spans.length; i++) {
554 if (spans[i].className == "footnoteref") {
555 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
556 href = href.match(/#.*/)[0]; // Because IE return full URL.
557 n = refs[href];
558 spans[i].innerHTML =
559 "[<a href='#_footnote_" + n +
560 "' title='View footnote' class='footnote'>" + n + "</a>]";
561 }
562 }
563 }
564}
565
566}
567/*]]>*/
568</script>
Junio C Hamano7ad22dc2007-01-29 02:55:48569</head>
570<body>
571<div id="header">
572<h1>
573git-fsck(1) Manual Page
574</h1>
575<h2>NAME</h2>
576<div class="sectionbody">
577<p>git-fsck -
578 Verifies the connectivity and validity of the objects in the database
579</p>
580</div>
581</div>
Junio C Hamano7bd050f2011-09-22 06:32:22582<div id="content">
Junio C Hamanocdd1c332010-12-20 10:08:00583<h2 id="_synopsis">SYNOPSIS</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48584<div class="sectionbody">
585<div class="verseblock">
Junio C Hamanocdd1c332010-12-20 10:08:00586<div class="verseblock-content"><em>git fsck</em> [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
Junio C Hamano92887a32011-12-07 00:26:29587 [--[no-]full] [--strict] [--verbose] [--lost-found]
Junio C Hamano81d540a2012-03-02 19:52:47588 [--[no-]dangling] [--[no-]progress] [&lt;object&gt;*]</div>
Junio C Hamanocdd1c332010-12-20 10:08:00589<div class="verseblock-attribution">
590</div></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48591</div>
Junio C Hamanoba4b9282008-07-06 05:20:31592<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48593<div class="sectionbody">
Junio C Hamanocdd1c332010-12-20 10:08:00594<div class="paragraph"><p>Verifies the connectivity and validity of the objects in the database.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48595</div>
Junio C Hamanoba4b9282008-07-06 05:20:31596<h2 id="_options">OPTIONS</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48597<div class="sectionbody">
Junio C Hamanocdd1c332010-12-20 10:08:00598<div class="dlist"><dl>
599<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48600&lt;object&gt;
601</dt>
602<dd>
603<p>
604 An object to treat as the head of an unreachability trace.
605</p>
Junio C Hamanocdd1c332010-12-20 10:08:00606<div class="paragraph"><p>If no objects are given, <em>git fsck</em> defaults to using the
Junio C Hamano7d575a52008-04-30 08:45:27607index file, all SHA1 references in .git/refs/*, and all reflogs (unless
Junio C Hamanoba4b9282008-07-06 05:20:31608--no-reflogs is given) as heads.</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48609</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00610<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48611--unreachable
612</dt>
613<dd>
614<p>
Junio C Hamano3d050d62011-05-17 06:43:34615 Print out objects that exist but that aren&#8217;t reachable from any
Junio C Hamano7ad22dc2007-01-29 02:55:48616 of the reference nodes.
617</p>
618</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00619<dt class="hdlist1">
Junio C Hamano81d540a2012-03-02 19:52:47620--dangling
621</dt>
622<dt class="hdlist1">
623--no-dangling
624</dt>
625<dd>
626<p>
627 Print objects that exist but that are never <em>directly</em> used (default).
Junio C Hamanoa5a62162012-03-05 23:25:43628 <tt>--no-dangling</tt> can be used to omit this information from the output.
Junio C Hamano81d540a2012-03-02 19:52:47629</p>
630</dd>
631<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48632--root
633</dt>
634<dd>
635<p>
636 Report root nodes.
637</p>
638</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00639<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48640--tags
641</dt>
642<dd>
643<p>
644 Report tags.
645</p>
646</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00647<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48648--cache
649</dt>
650<dd>
651<p>
652 Consider any object recorded in the index also as a head node for
653 an unreachability trace.
654</p>
655</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00656<dt class="hdlist1">
Junio C Hamano5678d692007-04-06 00:51:43657--no-reflogs
658</dt>
659<dd>
660<p>
661 Do not consider commits that are referenced only by an
662 entry in a reflog to be reachable. This option is meant
663 only to search for commits that used to be in a ref, but
Junio C Hamanocdd1c332010-12-20 10:08:00664 now aren&#8217;t, but are still in that corresponding reflog.
Junio C Hamano5678d692007-04-06 00:51:43665</p>
666</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00667<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48668--full
669</dt>
670<dd>
671<p>
672 Check not just objects in GIT_OBJECT_DIRECTORY
673 ($GIT_DIR/objects), but also the ones found in alternate
674 object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES
675 or $GIT_DIR/objects/info/alternates,
676 and in packed git archives found in $GIT_DIR/objects/pack
677 and corresponding pack subdirectories in alternate
Junio C Hamano621e1232009-10-26 05:16:47678 object pools. This is now default; you can turn it off
679 with --no-full.
Junio C Hamano7ad22dc2007-01-29 02:55:48680</p>
681</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00682<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48683--strict
684</dt>
685<dd>
686<p>
687 Enable more strict checking, namely to catch a file mode
688 recorded with g+w bit set, which was created by older
689 versions of git. Existing repositories, including the
690 Linux kernel, git itself, and sparse repository have old
691 objects that triggers this check, but it is recommended
692 to check new projects with this flag.
693</p>
694</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00695<dt class="hdlist1">
Junio C Hamano58aece12007-06-05 09:01:35696--verbose
697</dt>
698<dd>
699<p>
700 Be chatty.
701</p>
702</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00703<dt class="hdlist1">
Junio C Hamano1d90cb02007-07-03 07:05:31704--lost-found
705</dt>
706<dd>
707<p>
Junio C Hamanoa196f6d2007-07-24 08:10:27708 Write dangling objects into .git/lost-found/commit/ or
709 .git/lost-found/other/, depending on type. If the object is
710 a blob, the contents are written into the file, rather than
711 its object name.
Junio C Hamano1d90cb02007-07-03 07:05:31712</p>
713</dd>
Junio C Hamano92887a32011-12-07 00:26:29714<dt class="hdlist1">
715--progress
716</dt>
717<dt class="hdlist1">
718--no-progress
719</dt>
720<dd>
721<p>
722 Progress status is reported on the standard error stream by
723 default when it is attached to a terminal, unless
724 --no-progress or --verbose is specified. --progress forces
725 progress status even if the standard error stream is not
726 directed to a terminal.
727</p>
728</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31729</dl></div>
Junio C Hamano962f3a32011-12-22 20:21:44730</div>
731<h2 id="_discussion">DISCUSSION</h2>
732<div class="sectionbody">
733<div class="paragraph"><p>git-fsck tests SHA1 and general object sanity, and it does full tracking
734of the resulting reachability and everything else. It prints out any
Junio C Hamano7ad22dc2007-01-29 02:55:48735corruption it finds (missing or bad objects), and if you use the
Junio C Hamano962f3a32011-12-22 20:21:44736<em>--unreachable</em> flag it will also print out objects that exist but that
737aren&#8217;t reachable from any of the specified head nodes (or the default
738set, as mentioned above).</p></div>
Junio C Hamanocdd1c332010-12-20 10:08:00739<div class="paragraph"><p>Any corrupt objects you will have to find in backups or other archives
Junio C Hamanoba4b9282008-07-06 05:20:31740(i.e., you can just remove them and do an <em>rsync</em> with some other site in
741the hopes that somebody else has the object you have corrupted).</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48742</div>
Junio C Hamanoba4b9282008-07-06 05:20:31743<h2 id="_extracted_diagnostics">Extracted Diagnostics</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48744<div class="sectionbody">
Junio C Hamanocdd1c332010-12-20 10:08:00745<div class="dlist"><dl>
746<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48747expect dangling commits - potential heads - due to lack of head information
748</dt>
749<dd>
750<p>
Junio C Hamanocdd1c332010-12-20 10:08:00751 You haven&#8217;t specified any nodes as heads so it won&#8217;t be
Junio C Hamano7ad22dc2007-01-29 02:55:48752 possible to differentiate between un-parented commits and
753 root nodes.
754</p>
755</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00756<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48757missing sha1 directory <em>&lt;dir&gt;</em>
758</dt>
759<dd>
760<p>
761 The directory holding the sha1 objects is missing.
762</p>
763</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00764<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48765unreachable &lt;type&gt; &lt;object&gt;
766</dt>
767<dd>
768<p>
Junio C Hamanocdd1c332010-12-20 10:08:00769 The &lt;type&gt; object &lt;object&gt;, isn&#8217;t actually referred to directly
Junio C Hamano7ad22dc2007-01-29 02:55:48770 or indirectly in any of the trees or commits seen. This can
Junio C Hamanocdd1c332010-12-20 10:08:00771 mean that there&#8217;s another root node that you&#8217;re not specifying
772 or that the tree is corrupt. If you haven&#8217;t missed a root node
Junio C Hamano7ad22dc2007-01-29 02:55:48773 then you might as well delete unreachable nodes since they
Junio C Hamanocdd1c332010-12-20 10:08:00774 can&#8217;t be used.
Junio C Hamano7ad22dc2007-01-29 02:55:48775</p>
776</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00777<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48778missing &lt;type&gt; &lt;object&gt;
779</dt>
780<dd>
781<p>
Junio C Hamanocdd1c332010-12-20 10:08:00782 The &lt;type&gt; object &lt;object&gt;, is referred to but isn&#8217;t present in
Junio C Hamano7ad22dc2007-01-29 02:55:48783 the database.
784</p>
785</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00786<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48787dangling &lt;type&gt; &lt;object&gt;
788</dt>
789<dd>
790<p>
791 The &lt;type&gt; object &lt;object&gt;, is present in the database but never
792 <em>directly</em> used. A dangling commit could be a root node.
793</p>
794</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00795<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48796sha1 mismatch &lt;object&gt;
797</dt>
798<dd>
799<p>
Junio C Hamanocdd1c332010-12-20 10:08:00800 The database has an object who&#8217;s sha1 doesn&#8217;t match the
Junio C Hamano7ad22dc2007-01-29 02:55:48801 database value.
802 This indicates a serious data integrity problem.
803</p>
804</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31805</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48806</div>
Junio C Hamanoba4b9282008-07-06 05:20:31807<h2 id="_environment_variables">Environment Variables</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48808<div class="sectionbody">
Junio C Hamanocdd1c332010-12-20 10:08:00809<div class="dlist"><dl>
810<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48811GIT_OBJECT_DIRECTORY
812</dt>
813<dd>
814<p>
815 used to specify the object database root (usually $GIT_DIR/objects)
816</p>
817</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00818<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48819GIT_INDEX_FILE
820</dt>
821<dd>
822<p>
823 used to specify the index file of the index
824</p>
825</dd>
Junio C Hamanocdd1c332010-12-20 10:08:00826<dt class="hdlist1">
Junio C Hamano7ad22dc2007-01-29 02:55:48827GIT_ALTERNATE_OBJECT_DIRECTORIES
828</dt>
829<dd>
830<p>
831 used to specify additional object database roots (usually unset)
832</p>
833</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31834</dl></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48835</div>
Junio C Hamanoba4b9282008-07-06 05:20:31836<h2 id="_git">GIT</h2>
Junio C Hamano7ad22dc2007-01-29 02:55:48837<div class="sectionbody">
Junio C Hamanocdd1c332010-12-20 10:08:00838<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48839</div>
Junio C Hamano7bd050f2011-09-22 06:32:22840</div>
841<div id="footnotes"><hr /></div>
Junio C Hamano7ad22dc2007-01-29 02:55:48842<div id="footer">
843<div id="footer-text">
Junio C Hamanoa5a62162012-03-05 23:25:43844Last updated 2012-03-05 15:25:24 PDT
Junio C Hamano7ad22dc2007-01-29 02:55:48845</div>
846</div>
847</body>
848</html>