Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: Is "show-ref -h" a good test for an empty repository?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:19

Possibly related (same subject, not in this thread)

Jeff King [off-list ref] writes:
On Sun, Sep 07, 2008 at 10:21:16AM -0400, Eric Gerlach wrote:
quoted
quoted
quoted
I'm trying to test to see if "git diff --cached" will fail because 
there  are no existing commits.  I've come up with running "git 
show-ref -h -q"  and testing its return value.  My hypothesis is: If 
Maybe "git rev-parse --verify HEAD"?
That seems like it would work too... any reason one would be better than  
the other?
My thinking was:

  1. It's a plumbing command, and so less likely to change its behavior
     versus "git diff".

  2. The seems more obvious to me. rev-parse --verify is meant to ask
     "is this a valid object name?"

It is slightly different from your show-ref. Yours asks "is there
anything in refs/heads in this repository?" Mine asks "does the current
HEAD exist?" In practice, they are both reasonable tests, since once you
have a branch, it is very difficult to get HEAD to point to something
invalid short of editing manually to some bogus value. But you might
prefer one over the other depending on what you are trying to say.
All depends on how "an empty repository" is defined.  My definition of an
empty repository would have been:

 - No objects in it;
 - No index;
 - No refs except symrefs.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help