droms@ibm.com (12/05/86)
I'm looking for references to distributed implementations of Walter Tichy's RCS system - especially implementations that do *not* use a shared file system such as IBIS or NFS. Any help would be greatly appreciated. - Ralph Ralph Droms, IBM Watson Research Lab droms@ibm.com, droms@yktvmh.bitnet, ihnp4!purdue!yktpcix!droms
daveb@geac.UUCP (David Collier-Brown) (03/24/88)
In article <7537@ncoast.UUCP> allbery@ncoast.UUCP (Brandon Allbery) writes: [about RCS] > ...but requires a source code license, since it includes 4.xBSD diff sources > modified for RCS. This leaves binary ncoast out in the cold, with SCCS which > is nowhere near as nice to use. (If this has changed, someone please tell me > so I can get my hands on it!) > -- Well, it probably hasn't changed, but one CAN get a copy without the diff source (just the patches) and modify one of the PD diffs. That's what we did at Honeywell TSDC & CCSC when we didn't have Unix licences for our DPS-8s. It took about half a day... --dave -- David Collier-Brown. {mnetor yunexus utgpu}!geac!daveb Geac Computers International Inc., | Computer Science loses its 350 Steelcase Road,Markham, Ontario, | memory (if not its mind) CANADA, L3R 1B3 (416) 475-0525 x3279 | every 6 months.
m5@lynx.uucp (Mike McNally) (03/30/89)
When a file is checked out (with co) of an RCS directory, it seems to me that it would be nice if the modification date were set to the date of the revision. This would keep "make" happy. Because I've just started using RCS in an attempt to bring some sanity to our software, I might easily be confused. Perhaps there's a good reason that the file time should be the time of check-out, and I'm just not really in the RCS groove. Any explanations are welcome. -- Mike McNally Lynx Real-Time Systems uucp: {voder,athsys}!lynx!m5 phone: 408 370 2233 Where equal mind and contest equal, go.
dhesi@bsu-cs.UUCP (Rahul Dhesi) (03/30/89)
In article <5372@lynx.UUCP> m5@lynx.UUCP (Mike McNally) writes: [about timestaps of files checked out with RCS]: >Perhaps there's a good reason >that the file time should be the time of check-out... ...As opposed to the revision time. Yes, there is. Suppose you check out all files and compile. Now you change your mind and check out an earlier revision of one of the source files and type "make" again. -- Rahul Dhesi UUCP: <backbones>!{iuvax,pur-ee}!bsu-cs!dhesi ARPA: dhesi@bsu-cs.bsu.edu
chris@mimsy.UUCP (Chris Torek) (03/30/89)
In article <5372@lynx.UUCP> m5@lynx.uucp (Mike McNally) writes: >When a file is checked out (with co) of an RCS directory, it seems to me >that it would be nice if the modification date were set to the date of >the revision. This would keep "make" happy. Since `co' expands RCS keywords, this would be wrong. For instance: % co -l foo.c 1.1 locked % edit foo.c ... % make ... % ./test foo works % ci foo.c ... % co foo.c % make `foo' is up to date. % ident foo $Header: ... chris Locked $ % Other than the single `extra' recompilation (not always unnecessary, as above), if you keep a copy co'd all the time, this is no problem. Alternatively, you can use a variant of `make' that knows about RCS files. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris
m5@lynx.uucp (Mike McNally) (03/30/89)
In article <16623@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: >Since `co' expands RCS keywords, this would be wrong. For instance: ... In article <6389@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes: >Yes, there is. Suppose you check out all files and compile. Now you >change your mind and check out an earlier revision of one of the source >files and type "make" again. OK, I see. I admit that the obvious (and nearly transparent) solution of keeping all the sources checked out (read only) is correct. In addition to these two responses, a more clued-in person here tipped me off to the scene. On the subject of RCS: I saw, in a message from some archive somewhere, mention of some sort of registration that should be carried out with the creator of the RCS system. I can't find any mention of this in the sources I have (which I think came from the usenet archive). -- Mike McNally Lynx Real-Time Systems uucp: {voder,athsys}!lynx!m5 phone: 408 370 2233 Where equal mind and contest equal, go.
karl@triceratops.cis.ohio-state.edu (Karl Kleinpaste) (03/31/89)
m5@lynx.uucp (Mike McNally) writes:
On the subject of RCS: I saw, in a message from some archive somewhere,
mention of some sort of registration that should be carried out with the
creator of the RCS system. I can't find any mention of this in the sources
I have (which I think came from the usenet archive).
See the file rcs/src/READ_ME in your RCS distribution tree.
mark@jhereg.Jhereg.MN.ORG (Mark H. Colburn) (03/31/89)
In article <5372@lynx.UUCP> m5@lynx.UUCP (Mike McNally) writes: >When a file is checked out (with co) of an RCS directory, it seems to me >that it would be nice if the modification date were set to the date of >the revision. This would keep "make" happy. I will bias this toward C program development, but the principals hold pretty well for other things that you would want to RCS. Usually when you check out a revision, you are doing one of two things: 1. Checking out a source file which does not exist in the current directory. (if it did, why would you check it out again? Unless...) 2. You are replacing an existing source file which may have been "hurt" somehow. (Say you made some "fixes" and found that they broke everything, so you want to baseline your software.) In both of these cases, you want a new object file to match your source file. To give an example, say you have foo.c file which produced a foo.o file. You then check out a new foo.c. Chances are, when you do your next make, you want the foo.o file to be remade. If RCS checked out the foo.c file at the last checkin time, foo.o would probably not be remade. -- Mark H. Colburn "Look into a child's eye; Minnetech Consulting, Inc. there's no hate and there's no lie; mark@jhereg.mn.org there's no black and there's no white."
m5@lynx.uucp (Mike McNally) (04/01/89)
In article <741@jhereg.Jhereg.MN.ORG> mark@jhereg.MN.ORG (Mark H. Colburn) writes: >In article <5372@lynx.UUCP> m5@lynx.UUCP (Mike McNally) [ME] writes: >>When a file is checked out (with co) of an RCS directory, it seems to me >>that it would be nice if the modification date ... blah blah blah And many people, including Mr. Colburn, responded. Thanks. The RCS documentation mentions Mr. Tichy's paper from some conference proceedings as a good place to look for in-depth RCS stuff. If anyone can tell me where this stuff is available (like on-line), or if anyone has a copy and wants to mail me one (with my UPS number if it's thick), I'd be happy. Note that I'm not interested in violating any laws, so if I need to buy a copy of the conference proceedings, I will (although I'd probably be too lazy...) -- Mike McNally Lynx Real-Time Systems uucp: {voder,athsys}!lynx!m5 phone: 408 370 2233 Where equal mind and contest equal, go.
scs@adam.pika.mit.edu (Steve Summit) (04/01/89)
In article <5372@lynx.UUCP> m5@lynx.UUCP (Mike McNally) writes: >When a file is checked out (with co) of an RCS directory, it seems to me >that it would be nice if the modification date were set to the date of >the revision. That's exactly what I thought. I'm a stickler for modification time preservation, so this was a requirement of mine for any revision control system I might use. RCS seemed quite powerful otherwise, so I went in and modified it, with the following results: 1. The time associated with a revision is its original modification time, not the time of checkin. 2. When a new revision is checked in on the main branch, the RCS (,v) file inherits the time of the revision being checked in. If ci -u or -l is used, the working copy's modification time is preserved, notwithstanding any keywords which may have been expanded. 3. When any revision is checked out, its original modification time is resurrected. 4. The rcs command preserves the modification time of the RCS (,v) file. I want the modification time of a source file to reflect the last time I did something to it, not the last time it was copied (I use the equivalent of cp -p) checked in or out of RCS, or otherwise manipulated by system utilities. I arranged for the time of the RCS (,v) file to reflect the time of the head revision on the main branch so that ls -lt on the RCS directory gives sensible results, again based on the last time I edited a file. Among other things, this makes it easy to see what needs checking in, by comparing ls -lt of the RCS directory with the working directory. Playing with modification times under RCS in this way has two disadvantages: 1. The timestamps in the RCS file no longer record checkin time; this information is lost. I have never really missed having this information. 2. As has been adequately discussed, there can be problems with make when old versions are checked out, or when keywords are expanded. I simply remember to delete the .o file when I check out an old revision, and I don't use keywords any more, because for me they're more trouble than they're worth. (You can never compare .o files that ought to be identical, because they might contain different RCSid's.) I grant that there's a lot of personal preference involved here, and that having to remember to manually delete .o files can be problematical. For me, having modification times changing every time RCS blinked would be unthinkable; I've been very pleased, and have had no problems, using this modified version of RCS. I could probably be persuaded to make context diffs available, if anyone else is interested in these modifications. If you're not interested, or if you think I'm crazy for having RCS behave this way, all you have to do is not ask me for them. (I bet somebody posts a followup telling me that I'm wrong, anyway.) Steve Summit scs@adam.pika.mit.edu