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

Re: [PATCH 1/4] git-init-db should error out with a message

From
ARAlex Riesen <fork0@users.sourceforge.net>
Date
Oct 26, 2005, 20:47 UTC
Message-ID
<20051026204727.GA19846@steel.home>
In-Reply-To
<7v3bmoc9d7.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano, Wed, Oct 26, 2005 22:27:00 +0200:
Show 7 quoted lines
> > Not just that. It would be interesting to give the user an option to
> > use the file references ("ref: refs/heads/master").
> 
> Actually, the users should not have to care how HEAD reference
> is implemented.  It might make sense to use regular file symref
> regardless of platforms (i.e. never define USE_SYMLINK_HEAD on
> any platform).
This my idea too. All the time I was doing that patch :)
Show 6 quoted lines
> HOWEVER, I think "falling back" (both in Johannes' patch which
> is in the "master" branch, and your version) has a funny failure
> mode.  What happens when two processes try redirecting .git/HEAD
> simultaneously, possibly to different branch heads?  Both of
> them unlink(), one successfully does symlink(), and the other
> gets EEXIST and falls back to create regular file symref.

I think the file ref version uses rename of HEAD.lock into HEAD, doesn't it? Rename(2) should just remove the symlink, right?

Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 5 in “git-init-db should error out with a message”
  1. 1/4 git-init-db should error out with a messageJohannes Schindelin, Oct 25, 2005
  2. Alex RiesenOct 26, 2005
  3. Junio C HamanoOct 26, 2005
  4. Alex RiesenOct 26, 2005
  5. Junio C HamanoOct 26, 2005

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.