I've been looking at it a bit. There are definate trade-offs for
either git or subversion. Both have a conceptual model of a versioned
filesystem, but git does this by having nonsequential version #'s,
SHA-1 hashes generated based on the immediate contents
of the contained data. This allows you to have distributed versions
pretty easy, as naming-by-contents allows you to determine if two
files/trees/commits are equivalent pretty easily.
Unfortunately while SHA-1 naming keeps the model simple, it creates
problems with data locality on reading. The current implementation
also restricts what you can have in the data model, since the data in
the model corresponds so closely to the naming of the system. There is
also no way currently to represent a move/rename + content change as a
single change.
Being distributed in nature, it is more in tune to model tags and
branches as CVS does, which is easier for some people to understand.
I would love if the underlying repository could move closer to the git
model, but the lack of extensibility in the tree format and the change
in how branches and tags happen seem like that are fundamental
differences between the two.
On 8/16/05, Daniel Berlin <dberlin@dberlin.org> wrote:
> On Mon, 2005-08-15 at 22:17 -0500, kfogel@collab.net wrote:
> > Leaving aside the question of GIT's hype ratio :-), do we have any GIT
> > users on this list? And if so, do they see anything there that we
> > ought to be looking into steal^H^H^H^H^H copying?
>
> Look at the git code as it stands right now (diff-deltas.c is a good
> example).
> You will find your answer to the copying question from a code
> perspective:)
>
> As for the rest, GIT does some interesting things in terms of a storage
> model. It's interesting from that storage perspective.
> >From the UI perspective, it's not usable or mature yet, regardless of
> what Linus says.
>
> I had an interesting discussion with pasky last night about adding
> functionality to git that would allow it to just keep history info, and
> ask remote servers for the data, so that you don't have to carry around
> gigs of data for a repo the size of gcc. You could just carry what you
> wanted locally, and the rest would automatically be fetched as
> necessary.
>
> It may be interesting to use git as a backend someday.
> But not until the code is cleaned up very significantly.
>
> --Dan
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 16 21:23:41 2005