Boost logo

Boost :

From: Phil Richards (news_at_[hidden])
Date: 2007-06-07 15:46:07


On Thu, 07 Jun 2007 10:21:10 -0400, David Abrahams wrote:
> Yeah; I get the impression that GIT even deals correctly with fragments
> of code moving across files.

I believe that that impression is incorrect. Because GIT tracks file
state only (no explicit rename or copy tracking), it use a similarity
comparison between states to try and identify when a rename actually
occurred so it can track the "history" of content. If a fragment is
moved, the similarity check will not identify that fragment. The two
files will end up being viewed as completely independent by all parts of
GIT including the merge algorithms.

> He notes that some people use GIT to solve SVN's merging deficiencies,
> which I find interesting.

Indeed it does. I am stuck with CVSNT until SVN 1.5 comes out with merge
tracking added for precisely this reason. Why SVN and not GIT? Because
I (have to) use Windows for my day job and GIT support under Windows in
its infancy. Native support under Windows is just about non-existant
(mingw and cygwin are the only ways at the moment, and they require extra
bits to support the shell/perl scripts in GIT).

> This part I have some trouble buying. In Linus' world, *his* repository
> is central... well, at least, it's the master from which releases are
> spun. In a project where we don't have a single arbiter for what goes
> into a release, I'm not sure we can have a master.

I think the point with GIT is that *any* GIT repository can be referred
to as a master because there is no real difference between the one that
started it and the ones cloned from it. Development can occur in either
repository and either can act as "client" (slave, or whatever) to the
other.

> Also, although he claims never to do backups, it's clear from Linus'
> talk that he has a complicated system with layers of firewalls, etc.,
> protecting his data... which means that in a project like ours,
> individuals can't "play master" with the same level of reliability that
> Linus does.

The rest of the world is Linus' backup.

pihl

-- 
Change name before @ on From: to phil for direct email.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk