From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.2\)) From: Jeff Sickel In-Reply-To: <20140522001334.DC674B82A@mail.bitblocks.com> Date: Wed, 21 May 2014 22:25:55 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <96D6CED6-EF41-4D65-8E96-DBA9D6724718@corpus-callosum.com> References: <9bef3191d2c415d1031b0d3dc02aebfb@proxima.alt.za> <20140522001334.DC674B82A@mail.bitblocks.com> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: [9fans] CMS/MMS (VCS/SCM/DSCM) [was: syscall 53] Topicbox-Message-UUID: eb5b4786-ead8-11e9-9d60-3106f5b1d025 On May 21, 2014, at 7:13 PM, Bakul Shah wrote: > On Wed, 21 May 2014 09:56:26 PDT Skip Tavakkolian = wrote: >>=20 >> i like git. as it is a kind of archival file system, one should be = able to >> build a plan9 file system interface for it. >=20 > Have you looked at porting git to plan9? 178K lines of *.[ch]. > 20K lines of shell scripts (+ 100K+ lines of test scripts). > Also python and perl scripts. As we=92ve managed to migrate towards the topic of version control systems, I have to add: I don=92t like git. Maybe it=92s because I=92ve used darcs and hg so much more, or maybe it=92s just that I don=92t like the way git is used in many situations. But mostly I think it=92s because I=92ve found that many of the github projects lose sight of what I think is the more important portion of the source history: the history and development process itself. At the base level I find that sources and sourcesdump are much more accessible than many of the DSCMs (e.g., darcs, git, hg) out there. Yes it=92s great to use hg to snapshot state and allow easy migration across various systems, but it still clutters the model. One of the advantages of having a real archival store, like Venti, is that it changes the conceptual level of how you deal with metadata about a project. When the default is everything is saved and you can manipulate the namespace to represent various portions of the history then you don=92t get caught up in all the branching, rebasing, queues, merges, and other general contortions that would make us happy to warp back in time to an early copy of Dr. Dobb=92s Journal of Computer Calisthenics & Orthodontia when the future looked bright and we really could do anything with 8 bits. Sure working with an automatic snapshot system can be a headache at times, but it=92s one of those that easily passes, not like sitting down for a [git] root canal because your tooth has been rotting to the core while you worry about the configuration for the hottest continuous integration system with a butler name that shows we really didn=92t learn anything about the 18th or 19th century transitions to the modern age... Back on topic: be careful of the dependencies required to get a system bootstrapped. The FreeBSD community took BIND out of the default system and re-wrote a new basic resolver because the BIND 10+ versions would require packaging Python into the core distribution. There=92s no reason for bringing in more than is necessary to build, and putting a dependency on Python would significantly increase the build time and total lines of code to maintain just to have hg. Darcs is in the same boat in that you=92d have to keep a version of Haskell in the system. Git is the closest as it=92s just C, sort of: it=92s a whole lot of code. But why would you want to bring in =93178K lines of *.[ch], 20K lines of shell scripts, 100K+ lines of test scripts=94 and have to lug in the massive payload of Python and Perl just to make it functional? With a payload that large, it would take all the booster rockets [money] on the planet to get it into orbit. And it still might break apart, fall back to Earth, and kill us in the process. At the end of the day, it=92s the communication with people that=92s the largest benefit. Let=92s continue building systems based on the ideas that drew us all to Plan 9 in the first place.