Scott Chacon



Average rating: 4.16 · 2,837 ratings · 271 reviews · 2 distinct worksSimilar authors
Pro Git

4.16 avg rating — 2,780 ratings — published 2009 — 33 editions
Rate this book
Clear rating
Git Internals

4.14 avg rating — 57 ratings — published 2008
Rate this book
Clear rating

* Note: these are all the books on Goodreads for this author. To add more, click here.

Upcoming Events

No scheduled events. Add an event.

“SHORT NOTE ABOUT SHA-1 A lot of people become concerned at some point that they will, by random happenstance, have two objects in their repository that hash to the same SHA-1 value. What then? If you do happen to commit an object that hashes to the same SHA-1 value as a previous object in your repository, Git will see the previous object already in your Git database and assume it was already written. If you try to check out that object again at some point, you’ll always get the data of the first object. However, you should be aware of how ridiculously unlikely this scenario is. The SHA-1 digest is 20 bytes or 160 bits. The number of randomly hashed objects needed to ensure a 50% probability of a single collision is about 280 (the formula for determining collision probability is p = (n(n-1)/2) * (1/2^160)). 280 is 1.2 x 10^24 or 1 million billion billion. That’s 1,200 times the number of grains of sand on the earth. Here’s an example to give you an idea of what it would take to get a SHA-1 collision. If all 6.5 billion humans on Earth were programming, and every second, each one was producing code that was the equivalent of the entire Linux kernel history (3.6 million Git objects) and pushing it into one enormous Git repository, it would take roughly 2 years until that repository contained enough objects to have a 50% probability of a single SHA-1 object collision. A higher probability exists that every member of your programming team will be attacked and killed by wolves in unrelated incidents on the same night.”
Scott Chacon, Pro Git

“about getting”
Scott Chacon, Pro Git

“Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. For the examples in this book you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer.”
Scott Chacon, Pro Git



Is this you? Let us know. If not, help out and invite Scott to Goodreads.