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

Re: How often does git calculate SHAs?

From
Shawn Pearce <spearce@spearce.org>
Date
Jan 30, 2012, 14:59 UTC
Message-ID
<CAJo=hJtEPTPTwdoFaoZH4OBpfnCR3VDUNGdNtCprmPf=13xrdQ@mail.gmail.com>
In-Reply-To
<4F26A864.1080702@bbn.com>
On Mon, Jan 30, 2012 at 06:25, Michael Cook <mcook@bbn.com> wrote:
Show 8 quoted lines
> How often does git actually calculate a file's SHA?
>
> `strace git status` shows that git stat'ed many files, but opened only a
> few. So I assume git has some heuristicsbased on the stat infofor when to
> recalculate the SHAs.
>
> Any pointers to how I could have figured this out myself from looking at the
> source code would be appreciated. Google wasn't helpful.

During `git status` Git performs an lstat() of every file in the working tree. If the file matches stat structure data with the cache held in .git/index, Git assumes the file is unmodified.

Things Git are looking for is usually size, mtime, inode number, creation time, etc.

Previous: Michael Cook
Message 2 of 2 in “How often does git calculate SHAs?”
  1. Michael CookJan 30, 2012
  2. Shawn PearceJan 30, 2012

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.