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

Re: cygwin, 44k files: how to commit only index?

From
Shawn Pearce <spearce@spearce.org>
Date
Dec 7, 2006, 20:29 UTC
Message-ID
<20061207202931.GB12502@spearce.org>
In-Reply-To
<7vhcw7scln.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> wrote:
Show 10 quoted lines
> Shawn Pearce <spearce@spearce.org> writes:
> 
> >> I am not sure what you are trying.  Do you mean stat() is slow
> >> on your filesystem?
> >> 
> >> Maybe you want "assume unchanged"?
> >
> > Yes, basically.
> 
> Then maybe "git grep assume.unchanged" would help?

Hmm. OK, maybe I should have answered "No"" to your first question. I keep looking at the assume unchanaged feature of update-index, but refuse to use it because I'm a lazy guy who will forget to tell the index a file has been modified. Consequently I'm going to miss a change during a commit.

What may help (and without using assume unchanged) is:
 * skip the `update-index --refresh` part of git-status/git-commit
 * skip the status template in COMMIT_MSG when using the editor

As Git will still at least make sure a `commit -a` includes everything that is dirty.

Files whose modification dates may have been messed with (but whose content are unchanged) will just go through expensive SHA1 computation to arrive at the same value, which is fine.

Users skipping the first part are doing so under the assumption that their modification dates are usually always correct, and that then they aren't the SHA1 computation of a handful of files is cheap compared to stat'ing the entire set of files.

Users skipping the second part are doing so under the assumption that knowing the names of the files they are committing doesn't really improve their odds of writing a good commit message.

Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 18 in “cygwin, 44k files: how to commit only index?”
  1. Alex RiesenDec 7, 2006
  2. Junio C HamanoDec 7, 2006
  3. Shawn PearceDec 7, 2006
  4. Shawn PearceDec 7, 2006
  5. Christian MICHONDec 7, 2006
  6. Torgil SvenssonDec 9, 2006
  7. Junio C HamanoDec 7, 2006
  8. Shawn PearceDec 7, 2006
  9. Junio C HamanoDec 7, 2006
  10. Alex RiesenDec 7, 2006
  11. Junio C HamanoDec 7, 2006
  12. Alex RiesenDec 8, 2006
  13. Junio C HamanoDec 8, 2006
  14. Alex RiesenDec 8, 2006
  15. Junio C HamanoDec 8, 2006
  16. Alex RiesenDec 8, 2006
  17. Alex RiesenDec 8, 2006
  18. Alex RiesenDec 8, 2006

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.