NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: cvs better than git?



At Mon, 22 Jun 2020 09:37:30 +0200, a l3x <w4m4ck%gmail.com@localhost> wrote:
Subject: Re: cvs better than git?
>
> git follows a snapshot like approach to version control. but this view of
> history bites you as can be seen in "merge commits". requiring "rebasing"
> things and actually "rewriting history". this is what i dislike about the design
> of git. it is just a hash based object store. maybe that's the reason
> why the cli is
> cluttered with lots of details. merge commits call for trouble and for
> rebase, this is why i consider the design of git as VCS broken at best.

I wouldn't call it broken, not by a long shot -- it's just an outgrowth
of our history of using lesser tools which provide a per-file snapshot.
Indeed the enhanced version of CVS that NetBSD has been using is also
effectively just a snapshot approach (as opposed to plain CVS which is
just an easier way of managing a whole lot of per-file snapshots).

> another approach e.g. is using a partial order of patches as utilized
> by darcs, or pijul.

Both Git and NetBSD's version of CVS can be treated as if they are
managing a series of ordered patches, but for Git doing that also loses
some of its ability to track history of changes, albeit only slightly.
Indeed that's kind of what happens in NetBSD CVS now with movement of
changes from the trunk to release branches, though the formalization of
doing it would require additional tools and more discipline.

In effect for Git in GitHub the way pull requests have to be merged
sometimes does the same thing, but it's hard to tie together the pull
request history with what's in the DAG.

Personally I don't think partially ordered sets of patches have the
right level of integrity to lead to good software hygiene though.  I
think snapshots ala Git are much better, though even in Git it's easy
(because of all the extra features supporting practical usage) to have
it bite your butt if you don't test things in a more structured way
(which is only really practical with full automation of testing, and
that's mostly outside of Git's purview).

> i wish they had written darcs in idiomatic straight line c/c++. haskell, and in
> case of pijul rust are kind of show stoppers for me.

Indeed.  I've no idea why many (except noteably Larry McVoy and Linux
Torvalds) who have set out to build a better VCS have chosen to use some
language far more esoteric and unwieldy and practically un-portable than
they could have.  Even Common Lisp would likely have been better.

Monotone is one exception, though I personally still object to C++ with
vehemence.

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgp1MpKvMIibM.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index