From owner-freebsd-current Mon Jan 12 15:52:32 1998 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id PAA22102 for current-outgoing; Mon, 12 Jan 1998 15:52:32 -0800 (PST) (envelope-from owner-freebsd-current) Received: from word.smith.net.au (vh1.gsoft.com.au [203.38.152.122]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id PAA21977 for ; Mon, 12 Jan 1998 15:51:40 -0800 (PST) (envelope-from mike@word.smith.net.au) Received: from word (localhost [127.0.0.1]) by word.smith.net.au (8.8.8/8.8.5) with ESMTP id KAA00315; Tue, 13 Jan 1998 10:14:20 +1030 (CST) Message-Id: <199801122344.KAA00315@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: shimon@simon-shapiro.org cc: current@freebsd.org Subject: Re: Commit Approval (was Re: Firewall in kernel? - Found it! ) In-reply-to: Your message of "Tue, 13 Jan 1998 12:28:39 -0800." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 13 Jan 1998 10:14:20 +1030 From: Mike Smith Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > >> > Your proposal's not new either. Your offer to help run it is, but > >> > realistically do you feel that you have the time and stamina to do > >> > nothing but vet endless permutations of changes to the system? > >> > >> Done manually, yes, it will take a lot of time. Automated, it will not. > > > > Ah yes, the wonderful concept of "automated software testing". 8( > > Yuck. This is not what I had in mind at all. I was wondering aloud on the > need for automating some of these procedures. I have done it before, and > though maybe we need it here too. I don't know whether "we need automated procedures". I agree wholeheartedly that there is still plenty of room for improvement; don't get me wrong on that one. My objections to your proposals have more to do with what seems practical in the context of the current development procedure. > > Given a buildable state A, and desired target state C, how do I transit > > between the two when it is necessary for me to make more than a single > > commit? After the first commit I have an unbuildable but temporary > > state B, which your system will reject. > > Why is it necessary to make more than a single commit to transition from > given to desired? Just curious. I am looking at this whole thing as a > dtatabase transaction, whith a clear BEGIN, checkpoints, and COMMIT. Maybe > your point B is a checkpoint, meaning ``I want the change to `take' even if > the transaction is to fail''. I was considering this point as well; being able to cluster a group of commits would be essential. Often you want to commit several sets of interrelated changes to widely separated components in the tree; eg. consider changing a header implementing a kernel interface (evil, yes, but let's consider it). You want to change the header, and the code in the tools that consume it. You don't want to have to check out large slices of the tree, make your changes and then commit the whole lot in one fell swoop. Instead, you commit the changes to each tool separately. This is both a convenience feature and also leads to more compact and relevant commit messages. In another case, imagine you have just made a minor commit to fix something, and you make a typo. Normal procedure is to immediately fix the fix. There's another situation where you have two developers; #1 commits code that is a prerequisite for #2's work. They may be on the phone to each other, or whatever. A 3-hour wait for vetting would really slow that sort of collaborative work down. One more practical problem; count the number of commits in a day. Multiply by 3 hours. If you want to serialise everything, that becomes a real issue. > > And an automated buildability checker will help here? One with > > 'buildworld' latency? Why not educate the developer population instead? > > Rather than frustration and rejected commits, you get increased > > productivity and happier hackers. > > You are raising two interesting points, which Julian already did. > > 1. We are willing to risk occasional breakage in the name of speed. > > 2. You prefer accuntability to procedure. > > I must admit that I accpt point 1 and agree with point 2. I'd agree with point #2 in this case simply because I feel that accountability is more effective. If I could see how procedure could be more effective I'd swap sides in an instant. > > Why is it that prohibition is so much easier to advocate than > > commonsense? > > Because prohibition is procedural, ``fair'', anonymous and non-personal, > thus, once agreed to, much easier in our society. "path of least resistance" I guess. > Agree. I was not proposing an implementation. Just probing for > acceptability of a concept. > > Seems to me I was proposing a solution to a non-problem. No, at least not to me. I felt you were proposing a non-solution to a problem.a > Seems to me that we, by all accounts, have a great system wich does not > require improvement at this time. No sarcasm here, really. We seem to have a system which is working reasonably well. There is historical precedent for resistance to any sort of change under the circumstances. 8) -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\