summaryrefslogtreecommitdiff
path: root/Documentation/git-cat-file.txt
blob: 544ba7ba218550ac1b09d9c95dc6f60ac604f7e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
git-cat-file(1)
===============
 
NAME
----
git-cat-file - Provide content or type and size information for repository objects
 
 
SYNOPSIS
--------
[verse]
'git cat-file' (-t | -s | -e | -p | <type> | --textconv ) <object>
'git cat-file' (--batch | --batch-check) < <list-of-objects>
 
DESCRIPTION
-----------
In its first form, the command provides the content or the type of an object in
the repository. The type is required unless '-t' or '-p' is used to find the
object type, or '-s' is used to find the object size, or '--textconv' is used
(which implies type "blob").
 
In the second form, a list of objects (separated by linefeeds) is provided on
stdin, and the SHA1, type, and size of each object is printed on stdout.
 
OPTIONS
-------
<object>::
	The name of the object to show.
	For a more complete list of ways to spell object names, see
	the "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
 
-t::
	Instead of the content, show the object type identified by
	<object>.
 
-s::
	Instead of the content, show the object size identified by
	<object>.
 
-e::
	Suppress all output; instead exit with zero status if <object>
	exists and is a valid object.
 
-p::
	Pretty-print the contents of <object> based on its type.
 
<type>::
	Typically this matches the real type of <object> but asking
	for a type that can trivially be dereferenced from the given
	<object> is also permitted.  An example is to ask for a
	"tree" with <object> being a commit object that contains it,
	or to ask for a "blob" with <object> being a tag object that
	points at it.
 
--textconv::
	Show the content as transformed by a textconv filter. In this case,
	<object> has be of the form <treeish>:<path>, or :<path> in order
	to apply the filter to the content recorded in the index at <path>.
 
--batch::
	Print the SHA1, type, size, and contents of each object provided on
	stdin. May not be combined with any other options or arguments.
 
--batch-check::
	Print the SHA1, type, and size of each object provided on stdin. May not
	be combined with any other options or arguments.
 
OUTPUT
------
If '-t' is specified, one of the <type>.
 
If '-s' is specified, the size of the <object> in bytes.
 
If '-e' is specified, no output.
 
If '-p' is specified, the contents of <object> are pretty-printed.
 
If <type> is specified, the raw (though uncompressed) contents of the <object>
will be returned.
 
If '--batch' is specified, output of the following form is printed for each
object specified on stdin:
 
------------
<sha1> SP <type> SP <size> LF
<contents> LF
------------
 
If '--batch-check' is specified, output of the following form is printed for
each object specified on stdin:
 
------------
<sha1> SP <type> SP <size> LF
------------
 
For both '--batch' and '--batch-check', output of the following form is printed
for each object specified on stdin that does not exist in the repository:
 
------------
<object> SP missing LF
------------
 
Author
------
Written by Linus Torvalds <torvalds@osdl.org>
 
Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
 
GIT
---
Part of the linkgit:git[1] suite