Merge branch 'nd/checkout-disambiguation'
[gitweb.git] / Documentation / git-cat-file.txt
index 18d03d8e8b9b0921007d35d5adbaf954d289cdeb..204541c690ce24bdf5b6e20baa0ddca928920f71 100644 (file)
@@ -9,18 +9,22 @@ git-cat-file - Provide content or type and size information for repository objec
 SYNOPSIS
 --------
 [verse]
-'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv ) <object>
-'git cat-file' (--batch | --batch-check) [--follow-symlinks]
+'git cat-file' (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | <type> | --textconv | --filters ) [--path=<path>] <object>
+'git cat-file' (--batch | --batch-check) [ --textconv | --filters ] [--follow-symlinks]
 
 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").
+object type, or `-s` is used to find the object size, or `--textconv` or
+`--filters` is used (which imply type "blob").
 
 In the second form, a list of objects (separated by linefeeds) is provided on
-stdin, and the SHA-1, type, and size of each object is printed on stdout.
+stdin, and the SHA-1, type, and size of each object is printed on stdout. The
+output format can be overridden using the optional `<format>` argument. If
+either `--textconv` or `--filters` was specified, the input is expected to
+list the object names followed by the path name, separated by a single white
+space, so that the appropriate drivers can be determined.
 
 OPTIONS
 -------
@@ -54,19 +58,35 @@ OPTIONS
 
 --textconv::
        Show the content as transformed by a textconv filter. In this case,
-       <object> has be of the form <tree-ish>:<path>, or :<path> in order
-       to apply the filter to the content recorded in the index at <path>.
+       <object> has to be of the form <tree-ish>:<path>, or :<path> in
+       order to apply the filter to the content recorded in the index at
+       <path>.
+
+--filters::
+       Show the content as converted by the filters configured in
+       the current working tree for the given <path> (i.e. smudge filters,
+       end-of-line conversion, etc). In this case, <object> has to be of
+       the form <tree-ish>:<path>, or :<path>.
+
+--path=<path>::
+       For use with --textconv or --filters, to allow specifying an object
+       name and a path separately, e.g. when it is difficult to figure out
+       the revision from which the blob came.
 
 --batch::
 --batch=<format>::
        Print object information and contents for each object provided
-       on stdin.  May not be combined with any other options or arguments.
-       See the section `BATCH OUTPUT` below for details.
+       on stdin.  May not be combined with any other options or arguments
+       except `--textconv` or `--filters`, in which case the input lines
+       also need to specify the path, separated by white space.  See the
+       section `BATCH OUTPUT` below for details.
 
 --batch-check::
 --batch-check=<format>::
        Print object information for each object provided on stdin.  May
-       not be combined with any other options or arguments.  See the
+       not be combined with any other options or arguments except
+       `--textconv` or `--filters`, in which case the input lines also
+       need to specify the path, separated by white space.  See the
        section `BATCH OUTPUT` below for details.
 
 --batch-all-objects::