--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\r
+\r
+<article lang="en" id="git-cat-file(1)">\r
+<articleinfo>\r
+ <title>git-cat-file(1)</title>\r
+ <indexterm>\r
+ <primary>git-cat-file(1)</primary>\r
+ </indexterm>\r
+</articleinfo>\r
+<simplesect id="_name">\r
+<title>NAME</title>\r
+<simpara>git-cat-file - Provide content or type/size information for repository objects</simpara>\r
+</simplesect>\r
+<simplesect id="_synopsis">\r
+<title>SYNOPSIS</title>\r
+<blockquote>\r
+<literallayout><emphasis>git cat-file</emphasis> [-t | -s | -e | -p | <type>] <object>\r
+<emphasis>git cat-file</emphasis> [--batch | --batch-check] < <list-of-objects></literallayout>\r
+</blockquote>\r
+</simplesect>\r
+<simplesect id="_description">\r
+<title>DESCRIPTION</title>\r
+<simpara>In the first form, provides content or type of objects in the repository. The\r
+type is required unless <emphasis>-t</emphasis> or <emphasis>-p</emphasis> is used to find the object type, or <emphasis>-s</emphasis>\r
+is used to find the object size.</simpara>\r
+<simpara>In the second form, a list of object (separated by LFs) is provided on stdin,\r
+and the SHA1, type, and size of each object is printed on stdout.</simpara>\r
+</simplesect>\r
+<simplesect id="_options">\r
+<title>OPTIONS</title>\r
+<variablelist>\r
+<varlistentry>\r
+<term>\r
+<object>\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ The name of the object to show.\r
+ For a more complete list of ways to spell object names, see\r
+ "SPECIFYING REVISIONS" section in <xref linkend="git-rev-parse(1)"/>.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-t\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Instead of the content, show the object type identified by\r
+ <object>.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-s\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Instead of the content, show the object size identified by\r
+ <object>.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-e\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Suppress all output; instead exit with zero status if <object>\r
+ exists and is a valid object.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+-p\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Pretty-print the contents of <object> based on its type.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+<type>\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Typically this matches the real type of <object> but asking\r
+ for a type that can trivially be dereferenced from the given\r
+ <object> is also permitted. An example is to ask for a\r
+ "tree" with <object> being a commit object that contains it,\r
+ or to ask for a "blob" with <object> being a tag object that\r
+ points at it.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--batch\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Print the SHA1, type, size, and contents of each object provided on\r
+ stdin. May not be combined with any other options or arguments.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+<varlistentry>\r
+<term>\r
+--batch-check\r
+</term>\r
+<listitem>\r
+<simpara>\r
+ Print the SHA1, type, and size of each object provided on stdin. May not be\r
+ combined with any other options or arguments.\r
+</simpara>\r
+</listitem>\r
+</varlistentry>\r
+</variablelist>\r
+</simplesect>\r
+<simplesect id="_output">\r
+<title>OUTPUT</title>\r
+<simpara>If <emphasis>-t</emphasis> is specified, one of the <type>.</simpara>\r
+<simpara>If <emphasis>-s</emphasis> is specified, the size of the <object> in bytes.</simpara>\r
+<simpara>If <emphasis>-e</emphasis> is specified, no output.</simpara>\r
+<simpara>If <emphasis>-p</emphasis> is specified, the contents of <object> are pretty-printed.</simpara>\r
+<simpara>If <type> is specified, the raw (though uncompressed) contents of the <object>\r
+will be returned.</simpara>\r
+<simpara>If <emphasis>--batch</emphasis> is specified, output of the following form is printed for each\r
+object specified on stdin:</simpara>\r
+<literallayout><sha1> SP <type> SP <size> LF\r
+<contents> LF</literallayout>\r
+<simpara>If <emphasis>--batch-check</emphasis> is specified, output of the following form is printed for\r
+each object specified on stdin:</simpara>\r
+<literallayout><sha1> SP <type> SP <size> LF</literallayout>\r
+<simpara>For both <emphasis>--batch</emphasis> and <emphasis>--batch-check</emphasis>, output of the following form is printed\r
+for each object specified on stdin that does not exist in the repository:</simpara>\r
+<literallayout><object> SP missing LF</literallayout>\r
+</simplesect>\r
+<simplesect id="_author">\r
+<title>Author</title>\r
+<simpara>Written by Linus Torvalds <<ulink url="mailto:torvalds@osdl.org">torvalds@osdl.org</ulink>></simpara>\r
+</simplesect>\r
+<simplesect id="_documentation">\r
+<title>Documentation</title>\r
+<simpara>Documentation by David Greaves, Junio C Hamano and the git-list <<ulink url="mailto:git@vger.kernel.org">git@vger.kernel.org</ulink>>.</simpara>\r
+</simplesect>\r
+<simplesect id="_git">\r
+<title>GIT</title>\r
+<simpara>Part of the <xref linkend="git(1)"/> suite</simpara>\r
+</simplesect>\r
+</article>\r