Documentation / git-ls-tree.txton commit Merge branch 'maint-1.5.4' into maint (3e08f5d)
   1git-ls-tree(1)
   2==============
   3
   4NAME
   5----
   6git-ls-tree - List the contents of a tree object
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git-ls-tree' [-d] [-r] [-t] [-l] [-z]
  13            [--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
  14            <tree-ish> [paths...]
  15
  16DESCRIPTION
  17-----------
  18Lists the contents of a given tree object, like what "/bin/ls -a" does
  19in the current working directory. Note that the usage is subtly different,
  20though - 'paths' denote just a list of patterns to match, e.g. so specifying
  21directory name (without '-r') will behave differently, and order of the
  22arguments does not matter.
  23
  24OPTIONS
  25-------
  26<tree-ish>::
  27        Id of a tree-ish.
  28
  29-d::
  30        Show only the named tree entry itself, not its children.
  31
  32-r::
  33        Recurse into sub-trees.
  34
  35-t::
  36        Show tree entries even when going to recurse them. Has no effect
  37        if '-r' was not passed. '-d' implies '-t'.
  38
  39-l::
  40--long::
  41        Show object size of blob (file) entries.
  42
  43-z::
  44        \0 line termination on output.
  45
  46--name-only::
  47--name-status::
  48        List only filenames (instead of the "long" output), one per line.
  49
  50--abbrev[=<n>]::
  51        Instead of showing the full 40-byte hexadecimal object
  52        lines, show only handful hexdigits prefix.
  53        Non default number of digits can be specified with --abbrev=<n>.
  54
  55--full-name::
  56        Instead of showing the path names relative to the current working
  57        directory, show the full path names.
  58
  59paths::
  60        When paths are given, show them (note that this isn't really raw
  61        pathnames, but rather a list of patterns to match).  Otherwise
  62        implicitly uses the root level of the tree as the sole path argument.
  63
  64
  65Output Format
  66-------------
  67        <mode> SP <type> SP <object> TAB <file>
  68
  69When the `-z` option is not used, TAB, LF, and backslash characters
  70in pathnames are represented as `\t`, `\n`, and `\\`, respectively.
  71
  72When the `-l` option is used, format changes to
  73
  74        <mode> SP <type> SP <object> SP <object size> TAB <file>
  75
  76Object size identified by <object> is given in bytes, and right-justified
  77with minimum width of 7 characters.  Object size is given only for blobs
  78(file) entries; for other entries `-` character is used in place of size.
  79
  80
  81Author
  82------
  83Written by Petr Baudis <pasky@suse.cz>
  84Completely rewritten from scratch by Junio C Hamano <junkio@cox.net>,
  85another major rewrite by Linus Torvalds <torvalds@osdl.org>
  86
  87Documentation
  88--------------
  89Documentation by David Greaves, Junio C Hamano and the git-list
  90<git@vger.kernel.org>.
  91
  92GIT
  93---
  94Part of the linkgit:git[7] suite