Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

git ls-tree db/*.rb not working

Tags:

git

I am looking at the man page for git ls-tree . It has an option for path.

I have a directory called db and in that directory I have a few .rb files.

Then why my command is failing

git ls-tree db/*.rb
like image 531
Nick Vanderbilt Avatar asked Oct 17 '25 15:10

Nick Vanderbilt


1 Answers

First the actual man page is here. That is the page for the latest Git version.

Second, that official man page says:

Lists the contents of a given tree object, like what "/bin/ls -a" does in the current working directory.
Note that:

  • the behaviour is slightly different from that of "/bin/ls" in that the 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.

  • the behaviour is similar to that of "/bin/ls" in that the paths is taken as relative to the current working directory.
    E.g. when you are in a directory sub that has a directory dir, you can run git ls-tree -r HEAD dir to list the contents of the tree (that is sub/dir in HEAD).
    You don't want to give a tree that is not at the root level (e.g. git ls-tree -r HEAD:sub dir) in this case, as that would result in asking for sub/sub/dir in the HEAD commit. However, the current working directory can be ignored by passing --full-tree option.

In your case:

git ls-tree HEAD db/*.rb

might work better.

like image 96
VonC Avatar answered Oct 19 '25 04:10

VonC