----- Original Message -----
From: Sharan Basappa
To: Git for human beings
Sent: Saturday, May 21, 2016 5:02 PM
Subject: Re: [git-users] How GIT stores data
Do note that there is no file date information stored in the tree/blob
data. The only place dates are recored is at the point of the commit. Likewise
the only file permission stored is the *nix executable bit
So, the snapshot is taken when commit is done?
Also, what does the SHA that is returned when a commit is complete indicate?
is it the overall signature for the snapshot or commit identifier?
Almost, but not quite.
Each file snapshot is taken at the time it was added to the index. So most were
not taken at the time of the commit, but were taken earlier (perhaps at an
earlier commit if the file was not modified ;-)
Each sha1 is a hash over the content of that object.
Because the tree, commit and tag objects each contain a list of subordinate
sha1's that they cover, then you get a complete crypto security over the
appropriate history. The commit object will list the previous commit's sha1,
the sha1 of the top level tree, and the date it was committed, which fully
wraps up the history and status up to that point.
Minor aside, the commit object acually has two dates, one for the originating
author, and one for the authorising committer (the manager). For local local
project they can be the same person, for big projects (Git, Linux, etc.) they
will be different.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.