git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Some issues working with empty/bare repositories...

From
Jeff King <peff@peff.net>
Date
Mar 3, 2008, 08:10 UTC
Message-ID
<20080303081021.GA6578@sigill.intra.peff.net>
In-Reply-To
<3f4fd2640803011140o38ba0830l7775c8528f812779@mail.gmail.com>
On Sat, Mar 01, 2008 at 07:40:39PM +0000, Reece Dunn wrote:
Show 11 quoted lines
> Consider the following workflow:
> 
>     $ mkdir foo
>     $ cd foo
>     $ git --bare init
> 
>     $ git log
>     fatal: bad default revision 'HEAD'
> 
> This message is confusing for a newbie. Displaying "no commits" would
> make more sense here.

The tricky thing here is that "git log" doesn't know we have no commits in the repo; it only knows that HEAD is bogus. But it may be that we can just say something like:

  fatal: unable to resolve HEAD; do you have any commits?
>     $ git clone foo bar
>     Initialized empty Git repository in /home/reece/bar/.git/
>     $ ls -a /home/reece
>     . .. foo

As of 1.5.4, this now says "fatal: cannot clone empty repository". There has been work recently on a C version of clone which tries to match the sequence of "init && remote add && fetch && checkout" more closely. I haven't looked closely, but I suspect it may just work (by which I mean create an empty repo with origin config pointing to the parent repo).

> It appears from the git output (with the inconsistently capitalized
> git - see --version output above) that the clone succeeded, but it
> does not create bar/.git/, even though it said that it did.
It did create it...it just deleted it afterwards without telling you. :)
-Peff
Previous: Reece DunnNext: Reece Dunn
Message 2 of 9 in “Some issues working with empty/bare repositories...”
  1. Reece DunnMar 1, 2008
  2. Jeff KingMar 3, 2008
  3. Reece DunnMar 4, 2008
  4. [RFC] improve 'bad default revision' message for empty repoJeff King, Mar 5, 2008
  5. Junio C HamanoMar 5, 2008
  6. Jeff KingMar 5, 2008
  7. Junio C HamanoMar 5, 2008
  8. Jeff KingMar 5, 2008
  9. Jeff KingMar 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.