Software Tools Minutes 12 January 1996 9:00AM - 10:00AM ====================== Present: Pushpa Bhat, John Hobbs, Al Jonchkeere, Stan Krzywdzinski, Laura Paterno, Serban Protopopescu, Harrison Prosper Scribe: Laura Paterno Meeting agenda: 1) Assignment of next task (compiler/debugger) coordinator 2) More code management discussion 3) Harrison will give a brief overview of LIGHT (http:/www.cern.ch/Light) 1) Next task Coordinator - Laura volunteered to be the next task coordinator for the COMPILER/DEBUGGER section. Alan J. pointed out that we should keep in mind that the code management system will have an impact on the compiler/debugger in terms of how code is released (code that compiles on one compiler is not always guaranteed to compile under another so we should be aware of this). 2) Code Management discussion: We started off discussing the differences between the various known CM and quickly decided after urging by John Hobbs that we should specify what we want first and then see if any of the currently available CM systems meet these requirements. Here is the starting list of requirements for the CM system/releases: a) It should definitely provide versioning. It would be nice if it was done automatically by tagging the code directly. A history feature to see version changes, etc is necessary. An exhaustive listing of versions would als be nice (i.e. if code is tagged with a version number then a utility could go back the the CM system and as for all the source code matching that version as well as all the associated libraries which were linked in). b) Easy to back up to previous versions. This is currently painful to do. c) Global symbol uniqueness should be enforced automatically. (Same routine not found in multiple libraries) d) Should support sets of versions (the CMS group equivalent) logically it would be nice to have one big library and pull out sets of code as needed. e) Allow for automatic compilation on a set of platforms. Perhaps linking as well. f) Optionally allow a set of test suites to be run before code is accepted into the system. g) Must support multiplatform releasing (will require machine blocks in code for different platforms) h) Access control features (like czar, czar helper in CMS) i) Documentation enforcement. (will require a utility to be written perhaps) j) Code standard enforcement. (will require a utility to be written perhaps) k) Call tree generation The discussions then turned to what sort of interface the CM/Release system should have. Here again are the requirements: a) WWW used for source code release, retrieval, insertion. Will still need a command line interface that is below the WWW level that can be used directly as well. Web Browser -- emits -> command line calls -- accesses -> CM repository b) Command line language 1) Create/delete sets 2) insert/fetch (w/ version stamp)/modify/delete elements 3) concurrent editing (?) should we allow this (some yes some no) (multiple check outs, change notification if more than one person has source checked out. Can get complicated.). 4) reservations of code and release of reservations. Should also be some way to break someone else locking source code but not using it. 5) view code (w/o version stamp). 3) Harrison discussed LIGHT. See the web page listed at the start for full details.