git/Documentation
Junio C Hamano 6af1f0192f [PATCH] Rewrite ls-tree to behave more like "/bin/ls -a"
This is a complete rewrite of ls-tree to make it behave more
like what "/bin/ls -a" does in the current working directory.

Namely, the changes are:

 - Unlike the old ls-tree behaviour that used paths arguments to
   restrict output (not that it worked as intended---as pointed
   out in the mailing list discussion, it was quite incoherent),
   this rewrite uses paths arguments to specify what to show.

 - Without arguments, it implicitly uses the root level as its
   sole argument ("/bin/ls -a" behaves as if "." is given
   without argument).

 - Without -r (recursive) flag, it shows the named blob (either
   file or symlink), or the named tree and its immediate
   children.

 - With -r flag, it shows the named path, and recursively
   descends into it if it is a tree.

 - With -d flag, it shows the named path and does not show its
   children even if the path is a tree, nor descends into it
   recursively.

This is still request-for-comments patch.  There is no mailing
list consensus that this proposed new behaviour is a good one.

The patch to t/t3100-ls-tree-restrict.sh illustrates
user-visible behaviour changes.  Namely:

 * "git-ls-tree $tree path1 path0" lists path1 first and then
   path0.  It used to use paths as an output restrictor and
   showed output in cache entry order (i.e. path0 first and then
   path1) regardless of the order of paths arguments.

 * "git-ls-tree $tree path2" lists path2 and its immediate
   children but having explicit paths argument does not imply
   recursive behaviour anymore, hence paths/baz is shown but not
   paths/baz/b.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-29 11:40:40 -07:00
..
diff-format.txt [PATCH] diff-raw format update take #2. 2005-05-23 16:23:10 -07:00
git-apply-patch-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-cat-file.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-check-files.txt [PATCH 3/4] split core-git.txt and update 2005-05-10 15:01:23 -07:00
git-checkout-cache.txt [PATCH] Implement git-checkout-cache -u to update stat information in the cache. 2005-05-19 09:50:57 -07:00
git-commit-tree.txt [PATCH 3/4] split core-git.txt and update 2005-05-10 15:01:23 -07:00
git-convert-cache.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-diff-cache.txt [PATCH] Update git-diff-cache documentation. 2005-05-23 19:17:06 -07:00
git-diff-files.txt [PATCH] The diff-raw format updates. 2005-05-21 22:49:19 -07:00
git-diff-helper.txt [PATCH] diff-raw format update take #2. 2005-05-23 16:23:10 -07:00
git-diff-tree.txt [PATCH] Document the --root switch of git-diff-tree 2005-05-29 10:59:18 -07:00
git-export.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-fsck-cache.txt Fix up git-fsck-cache documentation 2005-05-22 14:32:26 -07:00
git-http-pull.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-init-db.txt [PATCH 3/4] split core-git.txt and update 2005-05-10 15:01:23 -07:00
git-local-pull.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-ls-files.txt [PATCH 3/3] Add git-ls-files -k. 2005-05-13 07:34:59 +02:00
git-ls-tree.txt [PATCH] Rewrite ls-tree to behave more like "/bin/ls -a" 2005-05-29 11:40:40 -07:00
git-merge-base.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-merge-cache.txt Document git-merge-cache -o 2005-05-11 04:49:36 +02:00
git-merge-one-file-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-mkdelta.txt [PATCH] Docs - delta object 2005-05-22 11:07:22 -07:00
git-mktag.txt [PATCH 3/4] split core-git.txt and update 2005-05-10 15:01:23 -07:00
git-prune-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-pull-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-read-tree.txt [PATCH 3/4] split core-git.txt and update 2005-05-10 15:01:23 -07:00
git-resolve-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-rev-list.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-rev-tree.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-rpull.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-rpush.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-tag-script.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-tar-tree.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-unpack-file.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-update-cache.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-write-blob.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git-write-tree.txt [PATCH 1/4] split core-git.txt and update 2005-05-10 14:55:22 -07:00
git.txt [PATCH] Docs - delta object 2005-05-22 11:07:22 -07:00
Makefile [PATCH] Docs - Makefile update 2005-05-22 11:07:22 -07:00