git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Juliusz Chroboczek <Juliusz.Chroboczek@pps.jussieu.fr>
Cc: Git Mailing List <git@vger.kernel.org>, darcs-devel@abridgegame.org
Subject: Re: Darcs-git: a few notes for Git hackers
Date: Mon, 09 May 2005 15:50:32 -0700	[thread overview]
Message-ID: <427FE938.7050904@zytor.com> (raw)
In-Reply-To: <7ipsw010i5.fsf@lanthane.pps.jussieu.fr>

Juliusz Chroboczek wrote:
>>>I see.  Let me know if you decide to use a different name for the
>>>lock file so I can switch to using the same one as yours.
> 
> 
>>Are you using flock(), or some other contraption that breaks if a
>>process dies unexpectedly?
> 
> No, I'm using a file that is created by the NFS-safe equivalent of
> open(O_CREAT | O_EXCL).  This is what Darcs has been doing basically
> forever.
> 
> Darcs usually doesn't die unexpectedly -- it's a Haskell program, so
> bugs usually manifest themselves with an exception being thrown
> allowing Darcs to clean-up after itself.
> 
> The one exception is when Darcs gets killed by the OOM killer (which,
> as you doubtless know, doesn't give any advance warning to a process,
> thus making it impossible for a process to deal with it gracefully).
> In such cases, manual intervention is necessary anyway -- a file could
> have been written half-way.
> 

In the case of git, it should not be necessary even then; there might be 
a broken file in the repository but nothing would reference it so it 
shouldn't have any effect.  Functionally speaking, operations on the git 
repository are in themselves atomic.

	-hpa

  reply	other threads:[~2005-05-09 22:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-09 18:01 Darcs-git: a few notes for Git hackers Juliusz Chroboczek
2005-05-09 21:28 ` Petr Baudis
2005-05-09 22:08   ` Juliusz Chroboczek
2005-05-09 22:20     ` H. Peter Anvin
2005-05-09 22:46       ` Juliusz Chroboczek
2005-05-09 22:50         ` H. Peter Anvin [this message]
2005-05-09 23:08           ` Juliusz Chroboczek
2005-05-09 22:50   ` Brad Roberts
2005-05-09 23:02     ` Petr Baudis
2005-05-09 23:34     ` Junio C Hamano
2005-05-10 12:55     ` Brad Roberts
     [not found]       ` <Pine.LNX.4.44.0505141851340.2136-200000@bellevue.puremagic.com>
2005-05-15  9:11         ` Brad Roberts
2005-05-15 11:48         ` Petr Baudis
2005-05-15 19:06           ` Brad Roberts
2005-05-15 19:25             ` Junio C Hamano
2005-05-15 19:48               ` Petr Baudis
2005-05-15 20:10                 ` Brad Roberts
2005-05-15 20:36                   ` Junio C Hamano
2005-05-17 20:19                     ` Petr Baudis
2005-05-17 20:21             ` Petr Baudis
2005-05-10  0:07 ` Daniel Barkalow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=427FE938.7050904@zytor.com \
    --to=hpa@zytor.com \
    --cc=Juliusz.Chroboczek@pps.jussieu.fr \
    --cc=darcs-devel@abridgegame.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).