Path: utzoo!attcan!uunet!husc6!bbn!mit-eddie!bu-cs!purdue!umd5!mimsy!oddjob!ncar!ames!necntc!drilex!dricej From: dricej@drilex.UUCP (Craig Jackson) Newsgroups: comp.software-eng Subject: Re: Paradigms for source control Message-ID: <570@drilex.UUCP> Date: 21 May 88 01:00:13 GMT References: <5291@cup.portal.com> Reply-To: dricej@drilex.UUCP (Craig Jackson) Organization: Data Resources/McGraw-Hill, Lexington, MA Lines: 34 This is a discussion that is near and dear to my heart. While the *CS programs have many advantages, there are a few things which I sorely miss from 'mainframe' source code control systems, (of which MODIFY/UPDATE is one). The biggest thing that I miss in the Unix world is the ability to easily have independent development on a common body of source by two sets of programmers in two locations. The most common case of this is a vendor sending out source updates, and a local site making patches. In the Unix world, each time AT&T comes out with a release, all of the System V vendors need to re-do their port. Now Unix is portable, but it isn't so portable that unnecessary ports are to be desired. In a system such as M/U, there is a unique identifier attached to each line of the source file. Two modsets can affect different regions of the file with no change whatsoever. In the unix world, diff -c & patch attempt to provide the same utility. However, if there isn't enough common context, things fall apart. Also, diff -c only comes from Berkeley; you're left to the net to pick up diffc if you're on a USG system. 'patch' only comes from the net in the first place. You may denigrate the need for 'line numbers' or 'line identifiers' in systems such as M/U. Yes, they are extra baggage. Yes, they do go along with such things as fixed-length source lines and source listings. Yes, they do imply occasional resequencing. However, by uniquely identifying each line, it's possible to unabiguously talk about precise regions of code. I only wish I could give each token in the source file a unique identifier, but it isn't really feasible. -- Craig Jackson UUCP: {harvard!axiom,linus!axiom,ll-xn}!drilex!dricej BIX: cjackson