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