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

Re: [PATCH 4/3] t3700: avoid racy git situation

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 8, 2007, 15:16 UTC
Message-ID
<Pine.LNX.4.64.0711081511440.4362@racer.site>
In-Reply-To
<47331E65.9010209@viscovery.net>
Hi,
On Thu, 8 Nov 2007, Johannes Sixt wrote:
Show 7 quoted lines
> Johannes Schindelin schrieb:
> > Wow, the builtin commit is fast.  It sometimes triggers a racy
> > situation in the test case for "git add --refresh -- foo".
> > 
> > So when that test fails, simply sleep one second and try again.
> 
> [/me looks at the calender - no, it's not April Fool's day]
No. The builtin commit is really that fast.
> Wouldn't it be better to fix git-commit (or git-add)? I would like to 
> help, but you already seem to have done the analysis, so...
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.

And since diff-index, as called from the test script, does not generate a diff, but really only determines if the index information suggests that the files are up-to-date, there is not really much you can do.

This is our good old friend, the racy git problem.
NOTE: other scms do not have this problem, mostly because they are too 
slow to trigger it.

Ciao, Dscho

Previous: Johannes SixtNext: Kristian Høgsberg
Message 9 of 13 in “builtin-commit fixes”
  1. 0/3 builtin-commit fixesJohannes Schindelin, Nov 8, 2007
  2. 1/3 builtin-commit: fix reflog message generationJohannes Schindelin, Nov 8, 2007
  3. 2/3 launch_editor(): read the file, even when EDITOR=:Johannes Schindelin, Nov 8, 2007
  4. Johannes SixtNov 8, 2007
  5. 2/3 launch_editor(): read the file, even when EDITOR=:Johannes Schindelin, Nov 8, 2007
  6. 3/3 builtin-commit: fix author date with --amend --author=<author>Johannes Schindelin, Nov 8, 2007
  7. 4/3 t3700: avoid racy git situationJohannes Schindelin, Nov 8, 2007
  8. Johannes SixtNov 8, 2007
  9. Johannes SchindelinNov 8, 2007
  10. Kristian HøgsbergNov 8, 2007
  11. Johannes SixtNov 8, 2007
  12. Junio C HamanoNov 8, 2007
  13. Johannes SchindelinNov 9, 2007

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.