threads / discuss / 25565

How git detects changes during commit?

Subject: How git detects changes during commit?

## tl;dr

3 messages between Oct 27, 2010 and Oct 28, 2010.

replies: 2people: 2as markdown or json

longphant· Oct 27, 2010, 20:36 UTC · lore

Say you check out a directory of 100 files. You edit 5 of the files, and you go to commit the directory back. How does git know which of the 100 files were modified (not all of them were)?

-- 
View this message in context: http://git.661346.n2.nabble.com/How-git-detects-changes-during-commit-tp5680208p5680208.html
Sent from the git mailing list archive at Nabble.com.
Jonathan Nieder· Oct 27, 2010, 20:54 UTC · re: longphant · lore

Re: How git detects changes during commit?

Hi,
longphant wrote:
> Say you check out a directory of 100 files. You edit 5 of the files, and you
> go to commit the directory back. How does git know which of the 100 files
> were modified (not all of them were)?

The lstat system call. See the git-update-index(1) manual for some hints (since most high-level commands do the equivalent of "git update-index --refresh -q" before working with the work tree).

Hope that helps, Jonathan

longphant· Oct 28, 2010, 17:23 UTC · re: Jonathan Nieder · lore

Re: How git detects changes during commit?

Thanks, that is a lot of help. I am a complete noob to version control, so I was wondering if you could give me a noobie tutorial of how it works. Does git lstat each file that is committed and then check the time of last modification? Or does it lstat the directory?

-- 
View this message in context: http://git.661346.n2.nabble.com/How-git-detects-changes-during-commit-tp5680208p5683536.html
Sent from the git mailing list archive at Nabble.com.

← back to recent threads