From owner-freebsd-arch@FreeBSD.ORG Thu Aug 25 22:09:29 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15CBB106564A for ; Thu, 25 Aug 2011 22:09:29 +0000 (UTC) (envelope-from freebsd-arch@m.gmane.org) Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by mx1.freebsd.org (Postfix) with ESMTP id 95AA88FC08 for ; Thu, 25 Aug 2011 22:09:27 +0000 (UTC) Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Qwi74-00006Q-DQ for freebsd-arch@freebsd.org; Fri, 26 Aug 2011 00:09:26 +0200 Received: from 208.88.188.90.adsl.tomsknet.ru ([90.188.88.208]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Aug 2011 00:09:26 +0200 Received: from vadim_nuclight by 208.88.188.90.adsl.tomsknet.ru with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Aug 2011 00:09:26 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-arch@freebsd.org From: Vadim Goncharov Date: Thu, 25 Aug 2011 22:09:07 +0000 (UTC) Organization: Nuclear Lightning @ Tomsk, TPU AVTF Hostel Lines: 55 Message-ID: References: <35765857-1314243257-cardhu_decombobulator_blackberry.rim.net-329610575-@b2.c15.bise7.blackberry> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 208.88.188.90.adsl.tomsknet.ru X-Comment-To: mdf@FreeBSD.org User-Agent: slrn/0.9.9p1 (FreeBSD) Subject: VCS (Was: FreeBSD problems and preliminary ways to solve) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vadim_nuclight@mail.ru List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Aug 2011 22:09:29 -0000 Hi mdf@FreeBSD.org! On Thu, 25 Aug 2011 13:59:30 -0700; mdf@FreeBSD.org wrote about 'Re: FreeBSD problems and preliminary ways to solve': >> Here an interesting question arise, in the philosophy/VCS field. We see >> that Linux/git adopted model where "dictator" has, say, 17 lieutenant >> for key subsystems, and pulls changes from them, each of them have, say, >> 17 own subordinates from whose he pulls, and so on. Instead of that 17^2 >> people FreeBSD has the same 289 men directly commiting to repository. >> It is repository here which acts as a "dictator" from technical side, >> and that is definetely better (e.g. no "kill -SIGBUS Linus" factors). >> The difference is, those 289 key people in Linux *can* pull changes from >> lower tiers, but FreeBSD people - can't (of course not at all, but it is >> significantly harder to contribute here). It is a plain model. > I like that the Project is small enough that (1) I can be trusted to > commit to any of it, and (2) after a few more years of work on it, I > may very well know more than half of the code. It's not always > possible to have lots of functionality in a small code base, Umm, may be I was not clear. The question of trust is orthogonal to what I wanted to say. If the VCS machine is a "dictator", then any committer is trusted to commit to any part of repo, this is left as it is now. What I'm talking about is contributing. I can view a part of committer's workflow when a contributor wants to do something big. So, he has to do things in his own repo first, then make a big patch to send to his friend at freebsd.org, which will apply it and commit. Many boilerplate work. But there will be much more work if contributor periodically updates his work. It is will be a pain to merge changes. And with DVCS all history in contributor's repo could been merged to main FreeBSD repo as well. Think about Perforce and users/ & projects/ in our SVN - that's also too much overhead for most contributors. Suppose we have such VCS based around central repo. Because a central repo concept exists, I, as a contributor, do clone a *set of files*, neither just subtree as in SVN nor entire repository as in Git. The VCS maintains those set - sys/netinet/ipfw/*, sbin/ipfw/*, etc/rc.d/ipfw and a few files from sys/netinet/ (not all). Note those are individual files, based on a inode-like object in repo. My VCS copy set up to templates as in main tree (just like subversion-freebsd now). I do several commits to those files, the VCS automatically tracks changes from central repo to me. Then, when I'm done, those entire commit history from my branch could be imported by interested committer, not just resulting patch. Effectively an outside vendor branch, closely tied to it's native original freebsd.org, though. > but less code is better, and I wonder if FreeBSD's code size stays > smaller because we can all work on all of it. Nope. More solved tasks - that is what better. And less code/smaller & cleaner code/less people/etc. - these are just a manner, a way to achieve that goal, not the goal itself. Adjective is not a noun. -- WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru [Anti-Greenpeace][Sober FreeBSD zealot][http://nuclight.livejournal.com]