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

Re: [PATCH] builtin-commit: Refresh cache after adding files.

From
Kristian Høgsberg <krh@redhat.com>
Date
Nov 9, 2007, 17:38 UTC
Message-ID
<1194629893.30909.12.camel@hinata.boston.redhat.com>
In-Reply-To
<Pine.LNX.4.64.0711091722520.4362@racer.site>
On Fri, 2007-11-09 at 17:24 +0000, Johannes Schindelin wrote:
Show 30 quoted lines
> Hi,
> 
> On Fri, 9 Nov 2007, Kristian H?gsberg wrote:
> 
> > On Fri, 2007-11-09 at 17:05 +0000, Johannes Schindelin wrote:
> > 
> > > On Fri, 9 Nov 2007, Kristian Høgsberg wrote:
> > > 
> > > > This fixes the race in the last test int t3700.
> > > 
> > > Well, it is not a race.  My fault.  I thought it was.
> > > 
> > > What you basically did was to make sure that the index is up-to-date 
> > > after adding the files.  You might even want to say that in the commit 
> > > message, and only then say that it fixes t3700, too.
> > 
> > OK, I guess what I was wondering was why write_cache() doesn't write out
> > an up-to-date index.
> 
> write_cache() only writes the index, it does not update it.
> 
> > Do we need a call to refresh_cache() when we update the user cache but 
> > commit an index created from read_tree+add_files?  I.e. after the 
> > add_files_to_index() call on line 97?  The shell script doesn't do this, 
> > it only runs update-index --refresh for the index that gets committed.
> 
> I think it would be sane to do so.
> 
> IIUC this basically means that "git add <file> && git commit" should do 
> the same to the cache as "git commit <file>".

No, that's equivalent to "git commit -i <file>". If you just say "git commit <file>", that will create a temporary index initialized to HEAD, add file to that index and the regular (user) index, and then commit the temporary index file. The shell script doesn't refresh the regular index in this case. I think it makes sense to add that, but it will be a subtle difference in behaviour.

cheers, Kristian

Previous: Johannes SchindelinNext: Junio C Hamano
Message 5 of 14 in “builtin-commit: Refresh cache after adding files.”
  1. builtin-commit: Refresh cache after adding files.Kristian Høgsberg, Nov 9, 2007
  2. Johannes SchindelinNov 9, 2007
  3. Kristian HøgsbergNov 9, 2007
  4. Johannes SchindelinNov 9, 2007
  5. Kristian HøgsbergNov 9, 2007
  6. Junio C HamanoNov 9, 2007
  7. Kristian HøgsbergNov 9, 2007
  8. Junio C HamanoNov 10, 2007
  9. Johannes SchindelinNov 10, 2007
  10. Junio C HamanoNov 10, 2007
  11. git-add: make the entry stat-clean after re-adding the same contentsJunio C Hamano, Nov 10, 2007
  12. Linus TorvaldsNov 10, 2007
  13. 1/2 ce_match_stat, run_diff_files: use symbolic constants for readabilityJunio C Hamano, Nov 10, 2007
  14. 2/2 git-add: make the entry stat-clean after re-adding the same contentsJunio C Hamano, Nov 10, 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.