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

Re: [PATCH] rollback index if git-commit is interrupted by a signal

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 29, 2008, 14:03 UTC
Message-ID
<alpine.DEB.1.00.0805291456030.13507@racer.site.net>
In-Reply-To
<483EAD69.9090001@gnu.org>
Hi,
On Thu, 29 May 2008, Paolo Bonzini wrote:
Show 23 quoted lines
> > >  static void rollback_index_files(void)
> > >  {
> > > -	switch (commit_style) {
> > > -	case COMMIT_AS_IS:
> > > -		break; /* nothing to do */
> > > -	case COMMIT_NORMAL:
> > > -		rollback_lock_file(&index_lock);
> > > -		break;
> > > -	case COMMIT_PARTIAL:
> > > -		rollback_lock_file(&index_lock);
> > > -		rollback_lock_file(&false_lock);
> > > -		break;
> > > -	}
> > > +	rollback_lock_file(&index_lock);
> > > +	rollback_lock_file(&false_lock);
> > >  }
> > 
> > Your commit message gives _no_ good reason for this change.  As a 
> > matter of fact, I imagine that this could be a regression.
> 
> Without this change, there could be races between the time the lock file 
> is created and the time the commit_style variable is set, leading to the 
> rollback not being performed.

IMO it would make much more sense to _guarantee_ that the commity_style variable is set before the index is locked. It is feasible, and there is no good reason not to do that.

Ciao, Dscho

Previous: Paolo BonziniNext: Paolo Bonzini
Message 4 of 10 in “rollback index if git-commit is interrupted by a signal”
  1. rollback index if git-commit is interrupted by a signalPaolo Bonzini, May 29, 2008
  2. Johannes SchindelinMay 29, 2008
  3. Paolo BonziniMay 29, 2008
  4. Johannes SchindelinMay 29, 2008
  5. Paolo BonziniMay 29, 2008
  6. Johannes SchindelinMay 29, 2008
  7. rollback lock files on more signals than just SIGINTPaolo Bonzini, May 29, 2008
  8. Mike RalphsonJun 4, 2008
  9. Junio C HamanoJun 4, 2008
  10. Mike RalphsonJun 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.