All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Sixt <j.sixt@viscovery.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, krh@redhat.com, gitster@pobox.com
Subject: Re: [PATCH 4/3] t3700: avoid racy git situation
Date: Thu, 08 Nov 2007 16:45:59 +0100	[thread overview]
Message-ID: <47332F37.5090402@viscovery.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0711081511440.4362@racer.site>

Johannes Schindelin schrieb:
> The problem is that the index has the same timestamp as the file "foo".
> 
> Therefore, git cannot tell if "foo" is up-to-date in the index, since it 
> could have been modified (and indeed is) just a fraction of a second later 
> than the index was last updated.

The test goes like this:

         >foo && git add foo && git commit -a -m "commit all" &&
         test -z "`git diff-index HEAD -- foo`" &&
         git read-tree HEAD &&
         case "`git diff-index HEAD -- foo`" in
         :100644" "*"M   foo") echo ok;;
         *) echo fail; (exit 1);;
         esac &&
         git add --refresh -- foo &&
         test -z "`git diff-index HEAD -- foo`"

I'm pretty sure that this test completed within one second even before 
git-commit was a builtin. (I assume that timestamps don't have sub-second 
resolution.) Why then didn't this racy-git problem occur with the scripted 
git-commit?

-- Hannes

  parent reply	other threads:[~2007-11-08 15:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-08 12:14 [PATCH 0/3] builtin-commit fixes Johannes Schindelin
2007-11-08 12:15 ` [PATCH 1/3] builtin-commit: fix reflog message generation Johannes Schindelin
2007-11-08 12:15 ` [PATCH 2/3] launch_editor(): read the file, even when EDITOR=: Johannes Schindelin
2007-11-08 12:33   ` Johannes Sixt
2007-11-08 14:06     ` [PATCH REPLACING " Johannes Schindelin
2007-11-08 12:16 ` [PATCH 3/3] builtin-commit: fix author date with --amend --author=<author> Johannes Schindelin
2007-11-08 14:14 ` [PATCH 4/3] t3700: avoid racy git situation Johannes Schindelin
2007-11-08 14:34   ` Johannes Sixt
2007-11-08 15:16     ` Johannes Schindelin
2007-11-08 15:27       ` Kristian Høgsberg
2007-11-08 15:45       ` Johannes Sixt [this message]
2007-11-08 20:42       ` Junio C Hamano
2007-11-09  3:00         ` Johannes Schindelin

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=47332F37.5090402@viscovery.net \
    --to=j.sixt@viscovery.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=krh@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.