From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Russ Cox" To: 9fans@cse.psu.edu Subject: Re: [9fans] rev control MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20010103025014.8C52A199E6@mail.cse.psu.edu> Date: Tue, 2 Jan 2001 21:50:11 -0500 Topicbox-Message-UUID: 4252637c-eac9-11e9-9e20-41e7f4b1d025 What is the Plan 9 answer to stuff like SCCS and RCS? The yesterday facility takes care of the "how do I back out of this mess?" problem, but I'm not sure what would be analogous to tags and commit logs. Are there other tools I've overlooked? As Scott said, yesterday is it. For the most part, changes happen slowly enough that the granularity of a day is just fine. history -D prints a diff log, which is not quite a commit log but just as useful. If you really want to know, the file server keeps track of who last touched each file, and this information is in the dump too, so it's not hard to assign blame for old changes. I've worked on projects that required CVS, and I've worked on Plan 9. Not surprisingly, I like the Plan 9 way better. From a usability standpoint, I like being able to run any command I want on the dump file system. There's nothing to learn except the typing of "9fs dump". Contrast this with CVS, where you have to learn the CVS lexicon, which is just close enough to familiar tools to be incredibly frustrating, in order to do anything meaningful. The more compelling issue, though, is that many people treat CVS as a license to commit changes: if the changes break something, someone else can easily back them out. But the time spent figuring out that it's not your fault that the program is crashing, and then finding the correct change to back out, is lost. The Plan 9 way requires more communication than the CVS way, which means most people have a better sense of what's going on and how the changes will affect them. I spent the summer working on a programming languages book: the text, the associated code, and the build scripts were all under CVS control. Oh, and I was using Plan 9 (hence the CVS port) but the professor with whom I was working was using Linux. We fell into the CVS trap -- instead of talking through changes before they happened, many of the discussions happened afterward, when one of us couldn't build the world after the other's changes. We got a lot done, but the lack of extensive communication about who currently owned what meant we stepped on each other's feet more often than we would have liked. I think a single common source with communication between the (human) writers is still the best way to go. Russ