The notice covers this behaviour: if you are in the git/ subdirectory of your repository, it will pick the tree corresponding to that directory instead of the root one if you specify the root tree object id. Compare the output of both of those commands: git-ls-tree cb44e6571708aa2792c73a289d87586fe3c0c362 git-cat-file -p cb44e6571708aa2792c73a289d87586fe3c0c362 --- Documentation/git-ls-tree.txt | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt index 1cdec22..7cba394 100644 --- a/Documentation/git-ls-tree.txt +++ b/Documentation/git-ls-tree.txt @@ -21,6 +21,10 @@ though - 'paths' denote just a list of patterns to match, e.g. so specifying directory name (without '-r') will behave differently, and order of the arguments does not matter. +Note that if you give ls-tree the sha1 id of a parent of the tree +corresponding to the directory you're in, it will resolve that tree and list +its contents instead of listing the contents of the tree you gave. + OPTIONS ------- <tree-ish>:: -- 1.5.6.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html