Jeff, We use a two pronged attack - I don't think I can share it (sorry) but here is what it does - none of it should be too difficult to emulate:
First we have some BASIC routines that stamp our programs with a string in the format: ADGVERDATA='Version=xxxxxxxxx;' ADGVERDATA:= 'VerDate=xxxxxx;' ADGVERDATA:='VerHist=xxxxxx' etc. The format of the string means that we can search both source and object code for version stamps (being a variable assignment not a comment they get compiled into the object code string table). We have some simple subroutines that return this version information which we can use e.g. from I-Descriptors to list the versions and from setup routines to check versions; and we have wrappers around our installation routines and checks in the routine we use for any global cataloging to ensure that we don't accidentally catalog an older routine over a newer version. Secondly, we use RCS for delta-ing (we could use CVS but RCS was a simpler option for interfacing). To allow it to handle non-source items (eg dictionaries and parameter records) we wrapper the RCS routines (ci and co) through some routines that essentially maintain an index of the UniVerse location (ACCOUNT DICT FILE LEVEL ITEM) to a numbered UNIX file. These allow allow us to things like accept select lists, so the whole thing is command line driven and very flexible. The routines maintain an index between our version stamps (which are 3 level major.minor.build) and the RCS version (which is 2 level major.minor) so we can search on either. We also apply tags in the index rather than using RCS tags, which are a bit flaky. The routines use the index to copy the item to a type 19 file using sequentially assigned IDs, then commit the copy to RCS. The same index is used to retrieve the item again, and optionally copy the item back to its original location OR to a new location (another reason for using the index). As most of our applications are client/server or Web based, we then apply CVS to our whole development environment, including the RCS repository. Hope this helps, Brian Leach -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Steinmetz Sent: 19 February 2004 02:20 To: [EMAIL PROTECTED] Subject: version control software I am looking for a version control application for U2 software development. Ideally it would have a check-out/check-in function, ability to track changes, migration dates, etc Does anyone have any suggestions? Jeff Steinmetz Vice President, Store Systems Guitar Center, Inc 5795 Lindero Canyon Road Westlake Village, CA 91362 818-735-8800 ext 2248 [EMAIL PROTECTED] -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users ________________________________________________________________________ This email was checked by MessageLabs SkyScan before entering Microgen. ________________________________________________________________________ This email was checked on leaving Microgen for viruses, similar malicious code and inappropriate content by MessageLabs SkyScan. DISCLAIMER This email and any attachments are confidential and may also be privileged. If you are not the named recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information. In the event of any technical difficulty with this email, please contact the sender or [EMAIL PROTECTED] Microgen Information Management Solutions http://www.microgen.co.uk -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
