a218@mindlink.UUCP (Charlie Gibbs) (09/01/89)
In article <22978@louie.udel.EDU> talmage@lti.uucp (David Talmage) writes: >What do Amiga programmers use for revision control? I find myself in need >of something like RCS; has it been ported to Our Favorite Micro? My approach to revision control is pretty simple. I look at the file size and the date and time stamps. If they're all the same, chances are the two versions are the same. Make likes date and time stamps too. I've never worked with a really fancy system, although I've written routines to massage redirected directory listings based on date and time stamps. However, for this to work I need to do the following additional steps: 1. Do all development work from a CLI. 2. Use a shell such as Shell2.07m (thanks, Matt!) which has an internal COPY command that preserves date and time stamps. Alternatively, ALIAS COPY COPY [] CLONE. 3. Ask Commodore to make CLONE the default option for all COPY commands, whether from a CLI or the Workbench. This would give the date and time stamps a fighting chance of surviving once they reach someone else's machine. 4. Get others to ask Commodore to make CLONE the default. 5. Get others to get others to ask Commodore to make CLONE the default. 6. Repeat step 5 until the desired recursion level is reached. 7. Go to step 3. 8. When stack overflow occurs, perform steps 3 through 7 with regard to filenotes. Since the COPY's default behaviour is to throw filenotes away, they likely won't stick around long enough to be of use to anyone; as far as I'm concerned they're currently a complete waste of time. On a somewhat more serious note, here's how I embed a date stamp within an assembly language program: Put this at the very top of the program (so you can find it): vermaj equ $02 ;Major version number vermin equ $30 ;Minor version number revyear equ $89 ;Year last assembled revmonth equ $01 ;Month last assembled revday equ $09 ;Day last assembled Put this anywhere else convenient: title dc.b 'Charlie''s whiz-bang utility - version ' dc.b vermaj&15+'0','.' dc.b vermin/16+'0',vermin&15+'0',' (' dc.b revyear/16+'0',revyear&15+'0','/' dc.b revmonth/16+'0',revmonth&15+'0','/' dc.b revday/16+'0',revday&15+'0',')',0 and pass it to your "print a null-terminated string" routine, which will then print: Charlie's whiz-bang utility - version 2.30 (89/01/09) Leave out the version number if you're so inclined (for single- module programs I find the date to be sufficient), and don't forget to update the EQUates before writing out a new version (that's why they're up front). In C, the line at the front can look something like this: char Version[] = "2.5 (June 18, 1989)"; and printing it is as simple as: printf ("Charlie's C program - version %s\n", Version); I know David Talmage asked for e-mail, but posting this publicly gives me another opportunity to exercise point 3 above. If anyone wants to take it as a flame, please refrain from using gas-operated appliances while in the area. :-) Charlie_Gibbs@mindlink.UUCP For every vision there is an equal and opposite revision.
talmage@lti.uucp (David Talmage) (09/01/89)
What do Amiga programmers use for revision control? I find myself in need of something like RCS; has it been ported to Our Favorite Micro? I shall summarize the replies I receive by e-mail. David Talmage ------------------------------------------------------------------------------ David W. Talmage, Systems Programmer ...!{buita,bbn}!lti!talmage Language Technology, Inc. talmage%lti.uucp@bu-it.bu.edu 27 Congress St., Salem, MA 01970 (508) 741-1507