From: Michael J Gruber Date: Fri, 23 Oct 2009 08:33:52 GMT Subject: Re: Detached HEAD and "git log --all" Message-ID: <4AE16A70.9050200@drmicha.warpmail.net> In-Reply-To: <200910222237.04056.jnareb@gmail.com> Jakub Narebski venit, vidit, dixit 22.10.2009 22:37: > When discussing differences between concept and implementation > of branches in Git and in Mercurial on StackOverflow[1] (abusing > SO comment system a bit), Steve Losh[2] wrote that he was surprised > by the fact that "git log --all" doesn't include commits made > on detached HEAD. > > While documentation clearly states: > > --all Pretend as if all the refs in `$GIT_DIR/refs/` are listed > on the command line as . > > and HEAD is in `$GIT_DIR/HEAD`, which is outside `$GIT_DIR/refs/`, > it is nevertheless a bit strange that "git log --all" doesn't list > all (everything). > > This is of course only an issue if we are on detached HEAD; I guess > that semantics of `--all` option to git-log predates this feature. > > [1] http://stackoverflow.com/questions/1598759/git-and-mercurial-compare-and-contrast/1599930#1599930 > [2] http://stevelosh.com/blog/entry/2009/8/30/a-guide-to-branching-in-mercurial/ > Commit 77abcbd (Let --decorate show HEAD position, 2009-10-12) goes a little bit in that direction, adding HEAD to the "labels" that --decorate may use, but not to the list of refs specified by "--all". But: Well, after playing around a bit: git rev-list --all does list my detached HEAD, git log --all shows it (which is the same statement, of course), whether I use --decorate or not. Are you seeing different behaviour? git describe --all HEAD does not describe the detached HEAD (other than v1.6.5-87-g4584daf in my case), which may or may not be desirable (because describe outputs at most one description, unlike --decorate). Michael