----- Original Message ----- 
  From: Sharan Basappa 
  To: Git for human beings 
  Cc: philipoak...@iee.org 
  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


   Dear Philip,


  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.
--

Philip

-- 
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 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to