config doc: update dot-repository notes
[gitweb.git] / Documentation / git-cat-file.txt
index 7c57eca9b08a73074430c5cb249fd95393d36557..21cffe2bcd0d5907efda9d525228e3f78a5cff65 100644 (file)
@@ -86,10 +86,9 @@ BATCH OUTPUT
 ------------
 
 If `--batch` or `--batch-check` is given, `cat-file` will read objects
-from stdin, one per line, and print information about them.
-
-Each line is considered as a whole object name, and is parsed as if
-given to linkgit:git-rev-parse[1].
+from stdin, one per line, and print information about them. By default,
+the whole line is considered as an object, as if it were fed to
+linkgit:git-rev-parse[1].
 
 You can specify the information shown for each object by using a custom
 `<format>`. The `<format>` is copied literally to stdout for each
@@ -106,6 +105,17 @@ newline. The available atoms are:
        The size, in bytes, of the object (the same as `cat-file -s`
        reports).
 
+`objectsize:disk`::
+       The size, in bytes, that the object takes up on disk. See the
+       note about on-disk sizes in the `CAVEATS` section below.
+
+`rest`::
+       If this atom is used in the output string, input lines are split
+       at the first whitespace boundary. All characters before that
+       whitespace are considered to be the object name; characters
+       after that first run of whitespace (i.e., the "rest" of the
+       line) are output in place of the `%(rest)` atom.
+
 If no format is specified, the default format is `%(objectname)
 %(objecttype) %(objectsize)`.
 
@@ -133,6 +143,20 @@ the repository, then `cat-file` will ignore any custom format and print:
 <object> SP missing LF
 ------------
 
+
+CAVEATS
+-------
+
+Note that the sizes of objects on disk are reported accurately, but care
+should be taken in drawing conclusions about which refs or objects are
+responsible for disk usage. The size of a packed non-delta object may be
+much larger than the size of objects which delta against it, but the
+choice of which object is the base and which is the delta is arbitrary
+and is subject to change during a repack. Note also that multiple copies
+of an object may be present in the object database; in this case, it is
+undefined which copy's size will be reported.
+
+
 GIT
 ---
 Part of the linkgit:git[1] suite