threads / discuss / 21010

Documentation problems

Subject: Documentation problems

## tl;dr

5 messages between Sep 20, 2009 and Sep 20, 2009.

replies: 4people: 3as markdown or json

Bruce Korb· Sep 20, 2009, 17:58 UTC · lore
Hi,

I'm trying to figure out what a ``tree-ish''. I cannot seem to use many of the commands until I know.

<tree-ish>
    Indicates a tree, commit or tag object name. A command that takes a
    <tree-ish> argument ultimately wants to operate on a <tree> object
    but automatically dereferences <commit> and <tag> objects that point at a <tree>.
I need a translation.  :(  Thank you.  Regards, Bruce

P.S. I have a SuSE installation with everything relating to GIT installed. The man pages reference commands like, "git-ls-tree --name-only" except that there isn't any such command. Unless you reverse engineer the implementation of "git", discover the /usr/lib/git directory and add it to your path. That hassle is rather inconvenient. More hints about where the git commands get squirreled away would be useful. Thank you.

Matthieu Moy· Sep 20, 2009, 18:24 UTC · re: Bruce Korb · lore

Re: Documentation problems

Bruce Korb <bruce.korb@gmail.com> writes:
Show 11 quoted lines
> Hi,
>
> I'm trying to figure out what a ``tree-ish''.
> I cannot seem to use many of the commands until I know.
>
> <tree-ish>
>     Indicates a tree, commit or tag object name. A command that takes a
>     <tree-ish> argument ultimately wants to operate on a <tree> object
>     but automatically dereferences <commit> and <tag> objects that point at a <tree>.
>
> I need a translation.  :(  Thank you.  Regards, Bruce
tree = directory (with its content).

For example, the last commit in the current branch is a Git object of type "commit", which contains mostly a log message, a few headers, and a pointer to the tree object corresponding to the content of the directory in which you made the commit (modulo what you excluded from the commit of course). Therefore, the name of this commit, although not really a tree, is a tree-ish in that it talks about one and only one tree. You could name it HEAD, a sha1sum (like 5a2abc12d64a5e00daa6aebbb673715f365a564a), the name of the branch (like "master"), ...

Show 7 quoted lines
> P.S. I have a SuSE installation with everything relating to GIT installed.
> The man pages reference commands like, "git-ls-tree --name-only" except
> that there isn't any such command.  Unless you reverse engineer the
> implementation of "git", discover the /usr/lib/git directory and add it
> to your path.  That hassle is rather inconvenient.  More hints about
> where the git commands get squirreled away would be useful.  Thank
> you.

Just type "git ls-tree --name-only". git-ls-tree is the old way to refer to the command name. Normally, any reference to dashed names should have been removed from the documentation by now (so most likely you see it in your distro because it's an old enough version, otherwise, it's a bug in the doc).

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Bruce Korb· Sep 20, 2009, 18:37 UTC · re: Matthieu Moy · lore

Re: Documentation problems

Hi Matthieu,
>> I'm trying to figure out what a ``tree-ish''.
Show 13 quoted lines
>> I need a translation.  :(  Thank you.  Regards, Bruce
> 
> tree = directory (with its content).
> 
> For example, the last commit in the current branch is a Git object of
> type "commit", which contains mostly a log message, a few headers, and
> a pointer to the tree object corresponding to the content of the
> directory in which you made the commit (modulo what you excluded from
> the commit of course). Therefore, the name of this commit, although
> not really a tree, is a tree-ish in that it talks about one and only
> one tree. You could name it HEAD, a sha1sum (like
> 5a2abc12d64a5e00daa6aebbb673715f365a564a), the name of the branch
> (like "master"), ...

Since I haven't created any any branches (to my knowledge), it seems that "master" is the magic branch name. My goal was just to get a list of managed files. Is "master" going to remain my "HEAD" now? (Assuming I don't do something to make a new branch. One branch is enough for my little one person project....)

> Just type "git ls-tree --name-only".
Ah.  Thank you.
Show 5 quoted lines
> git-ls-tree is the old way to
> refer to the command name. Normally, any reference to dashed names
> should have been removed from the documentation by now (so most likely
> you see it in your distro because it's an old enough version,
> otherwise, it's a bug in the doc).

$ git --version git version 1.6.0.2

I guess the man pages and installation were out of sync for that release.
Thank you for the quick reply!  Regards, Bruce
Matthieu Moy· Sep 20, 2009, 18:45 UTC · re: Bruce Korb · lore

Re: Documentation problems

Bruce Korb <bruce.korb@gmail.com> writes:
> Since I haven't created any any branches (to my knowledge), it seems
> that "master" is the magic branch name.
I wouldn't say "magic", but surely the default ;-).
> My goal was just to get a list of managed files.

Just cd /where/your/repo/is git ls-files

> Is "master" going to remain my "HEAD" now?
Yes.
Show 10 quoted lines
>> git-ls-tree is the old way to
>> refer to the command name. Normally, any reference to dashed names
>> should have been removed from the documentation by now (so most likely
>> you see it in your distro because it's an old enough version,
>> otherwise, it's a bug in the doc).
>
> $ git --version
> git version 1.6.0.2
>
> I guess the man pages and installation were out of sync for that release.

Well, actually, a few more instances of dashed commands were removed more recently. That said, to get the doc for "git foo", you still have to type "man git-foo" (or git foo --help indeed), but that's because "man git foo" means something different to man.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Andreas Schwab· Sep 20, 2009, 20:52 UTC · re: Bruce Korb · lore

Re: Documentation problems

Bruce Korb <bruce.korb@gmail.com> writes:
Show 9 quoted lines
> I'm trying to figure out what a ``tree-ish''.
> I cannot seem to use many of the commands until I know.
>
> <tree-ish>
>     Indicates a tree, commit or tag object name. A command that takes a
>     <tree-ish> argument ultimately wants to operate on a <tree> object
>     but automatically dereferences <commit> and <tag> objects that point at a <tree>.
>
> I need a translation.  :(  Thank you.  Regards, Bruce
See gitglossary(7).
Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

← back to recent threads