[Tfug] Version Control

Zack Williams zdwzdw at gmail.com
Tue Mar 26 14:42:44 MST 2013


On Tue, Mar 26, 2013 at 1:22 PM, Bexley Hall <bexley401 at yahoo.com> wrote:
> How often have you seen an installer claim it was installing version
> X when, in fact, the object was version Y (but someone forgot to update
> the installer to fix this "cross reference")?  Or, documentation
> talk about <foo> when it really should reference <bar>?

Maybe you should look at a document like this that goes into the
internals of how newer DVCS's work:

http://newartisans.com/2008/04/git-from-the-bottom-up/

Conceptually, git indexes files by the SHA1 hash of content, and
create a file tree of hashes which is then put into the repo as a
file.  The "head" is the SHA1 of the file tree object.

This makes it nigh impossible to get the wrong version of anything
that was checked in - it's hashes all the way down.   As always, GIGO
rules apply.

As for comparing binary files, git supports 3rd party diff tools via
"git difftool":

https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

- Zack




More information about the tfug mailing list