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