summaryrefslogtreecommitdiffstats
path: root/git-fsck-objects.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@hera.kernel.org>2005-12-27 00:17:23 -0800
committerJunio C Hamano <junio@hera.kernel.org>2005-12-27 00:17:23 -0800
commit1a4e841b439ba014b365999c3a6b9e2be3740bd8 (patch)
tree263dbc68b55d73929f82a6d1f7df677dfb06e294 /git-fsck-objects.html
downloadgit-htmldocs-1a4e841b439ba014b365999c3a6b9e2be3740bd8.tar.gz
Autogenerated HTML docs for 36de72aa9dc3b7daf8cf2770c840f39bb0d2ae70
Diffstat (limited to 'git-fsck-objects.html')
-rw-r--r--git-fsck-objects.html508
1 files changed, 508 insertions, 0 deletions
diff --git a/git-fsck-objects.html b/git-fsck-objects.html
new file mode 100644
index 000000000..515882058
--- /dev/null
+++ b/git-fsck-objects.html
@@ -0,0 +1,508 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 7.0.1" />
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a { color: blue; }
+a:visited { color: fuchsia; }
+
+em {
+ font-style: italic;
+}
+
+strong {
+ font-weight: bold;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ border-bottom: 2px solid silver;
+ padding-top: 0.5em;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble,
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-right: 10%;
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock > div.content {
+ padding-left: 2.0em;
+}
+div.quoteblock .attribution {
+ text-align: right;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.verseblock div.content {
+ white-space: pre;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: italic;
+}
+dd > *:first-child {
+ margin-top: 0;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.olist2 {
+ list-style-type: lower-alpha;
+}
+
+div.tableblock > table {
+ border-color: #527bbd;
+ border-width: 3px;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+
+div.hlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+td.hlist1 {
+ vertical-align: top;
+ font-style: italic;
+ padding-right: 0.8em;
+}
+td.hlist2 {
+ vertical-align: top;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+include::./stylesheets/xhtml11-manpage.css[]
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-content {
+ padding-left: 2.0em;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+</style>
+<title>git-fsck-objects(1)</title>
+</head>
+<body>
+<div id="header">
+<h1>
+git-fsck-objects(1) Manual Page
+</h1>
+<h2>NAME</h2>
+<div class="sectionbody">
+<p>git-fsck-objects -
+ Verifies the connectivity and validity of the objects in the database
+</p>
+</div>
+</div>
+<h2>SYNOPSIS</h2>
+<div class="sectionbody">
+<p><em>git-fsck-objects</em> [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [&lt;object&gt;*]</p>
+</div>
+<h2>DESCRIPTION</h2>
+<div class="sectionbody">
+<p>Verifies the connectivity and validity of the objects in the database.</p>
+</div>
+<h2>OPTIONS</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+&lt;object&gt;
+</dt>
+<dd>
+<p>
+ An object to treat as the head of an unreachability trace.
+</p>
+<p>If no objects are given, git-fsck-objects defaults to using the
+index file and all SHA1 references in .git/refs/* as heads.</p>
+</dd>
+<dt>
+--unreachable
+</dt>
+<dd>
+<p>
+ Print out objects that exist but that aren't readable from any
+ of the reference nodes.
+</p>
+</dd>
+<dt>
+--root
+</dt>
+<dd>
+<p>
+ Report root nodes.
+</p>
+</dd>
+<dt>
+--tags
+</dt>
+<dd>
+<p>
+ Report tags.
+</p>
+</dd>
+<dt>
+--cache
+</dt>
+<dd>
+<p>
+ Consider any object recorded in the index also as a head node for
+ an unreachability trace.
+</p>
+</dd>
+<dt>
+--standalone
+</dt>
+<dd>
+<p>
+ Limit checks to the contents of GIT_OBJECT_DIRECTORY
+ ($GIT_DIR/objects), making sure that it is consistent and
+ complete without referring to objects found in alternate
+ object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
+ nor packed git archives found in $GIT_DIR/objects/pack;
+ cannot be used with --full.
+</p>
+</dd>
+<dt>
+--full
+</dt>
+<dd>
+<p>
+ Check not just objects in GIT_OBJECT_DIRECTORY
+ ($GIT_DIR/objects), but also the ones found in alternate
+ object pools listed in GIT_ALTERNATE_OBJECT_DIRECTORIES,
+ and in packed git archives found in $GIT_DIR/objects/pack
+ and corresponding pack subdirectories in alternate
+ object pools; cannot be used with --standalone.
+</p>
+</dd>
+<dt>
+--strict
+</dt>
+<dd>
+<p>
+ Enable more strict checking, namely to catch a file mode
+ recorded with g+w bit set, which was created by older
+ versions of git. Existing repositories, including the
+ Linux kernel, git itself, and sparse repository have old
+ objects that triggers this check, but it is recommended
+ to check new projects with this flag.
+</p>
+</dd>
+</dl>
+<p>It tests SHA1 and general object sanity, and it does full tracking of
+the resulting reachability and everything else. It prints out any
+corruption it finds (missing or bad objects), and if you use the
+<em>--unreachable</em> flag it will also print out objects that exist but
+that aren't readable from any of the specified head nodes.</p>
+<p>So for example</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>git-fsck-objects --unreachable HEAD $(cat .git/refs/heads/*)</tt></pre>
+</div></div>
+<p>will do quite a _lot_ of verification on the tree. There are a few
+extra validity tests to be added (make sure that tree objects are
+sorted properly etc), but on the whole if "git-fsck-objects" is happy, you
+do have a valid tree.</p>
+<p>Any corrupt objects you will have to find in backups or other archives
+(ie you can just remove them and do an "rsync" with some other site in
+the hopes that somebody else has the object you have corrupted).</p>
+<p>Of course, "valid tree" doesn't mean that it wasn't generated by some
+evil person, and the end result might be crap. git is a revision
+tracking system, not a quality assurance system ;)</p>
+</div>
+<h2>Extracted Diagnostics</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+expect dangling commits - potential heads - due to lack of head information
+</dt>
+<dd>
+<p>
+ You haven't specified any nodes as heads so it won't be
+ possible to differentiate between un-parented commits and
+ root nodes.
+</p>
+</dd>
+<dt>
+missing sha1 directory <em>&lt;dir&gt;</em>
+</dt>
+<dd>
+<p>
+ The directory holding the sha1 objects is missing.
+</p>
+</dd>
+<dt>
+unreachable &lt;type&gt; &lt;object&gt;
+</dt>
+<dd>
+<p>
+ The &lt;type&gt; object &lt;object&gt;, isn't actually referred to directly
+ or indirectly in any of the trees or commits seen. This can
+ mean that there's another root node that you're not specifying
+ or that the tree is corrupt. If you haven't missed a root node
+ then you might as well delete unreachable nodes since they
+ can't be used.
+</p>
+</dd>
+<dt>
+missing &lt;type&gt; &lt;object&gt;
+</dt>
+<dd>
+<p>
+ The &lt;type&gt; object &lt;object&gt;, is referred to but isn't present in
+ the database.
+</p>
+</dd>
+<dt>
+dangling &lt;type&gt; &lt;object&gt;
+</dt>
+<dd>
+<p>
+ The &lt;type&gt; object &lt;object&gt;, is present in the database but never
+ <em>directly</em> used. A dangling commit could be a root node.
+</p>
+</dd>
+<dt>
+warning: git-fsck-objects: tree &lt;tree&gt; has full pathnames in it
+</dt>
+<dd>
+<p>
+ And it shouldn't&#8230;
+</p>
+</dd>
+<dt>
+sha1 mismatch &lt;object&gt;
+</dt>
+<dd>
+<p>
+ The database has an object who's sha1 doesn't match the
+ database value.
+ This indicates a serious data integrity problem.
+</p>
+</dd>
+</dl>
+</div>
+<h2>Environment Variables</h2>
+<div class="sectionbody">
+<dl>
+<dt>
+GIT_OBJECT_DIRECTORY
+</dt>
+<dd>
+<p>
+ used to specify the object database root (usually $GIT_DIR/objects)
+</p>
+</dd>
+<dt>
+GIT_INDEX_FILE
+</dt>
+<dd>
+<p>
+ used to specify the index file of the index
+</p>
+</dd>
+<dt>
+GIT_ALTERNATE_OBJECT_DIRECTORIES
+</dt>
+<dd>
+<p>
+ used to specify additional object database roots (usually unset)
+</p>
+</dd>
+</dl>
+</div>
+<h2>Author</h2>
+<div class="sectionbody">
+<p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;</p>
+</div>
+<h2>Documentation</h2>
+<div class="sectionbody">
+<p>Documentation by David Greaves, Junio C Hamano and the git-list &lt;git@vger.kernel.org&gt;.</p>
+</div>
+<h2>GIT</h2>
+<div class="sectionbody">
+<p>Part of the <a href="git.html">git(7)</a> suite</p>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 27-Dec-2005 00:16:09 PDT
+</div>
+</div>
+</body>
+</html>