======================================================= CONTRIBUTOR: Brad Appleton Motorola AIEG Northbrook email: Brad_Appleton@email.mot.com ======================================================= ********************************************************** ************** THIS IS UNSUPPORTED SOFTWARE ************** ********************************************************** ********************************************************** * Atria makes no representation that the descriptions * * and software code contained in this document will * * not infringe on existing or future patent rights, * * copyrights, trademarks, trade secrets or other * * proprietary rights of third parties. The * * descriptions contained herein do not imply the * * granting of licenses to make, use, sell, license or * * otherwise transfer Atria products described herein. * * Atria disclaims responsibility for errors which may * * appear in this document, and it reserves the right, * * in its sole discretion and without notice, to make * * substitutions and modifications in the products and * * practices described in this document. * ********************************************************** ------------------------------------------------ T0025: CLEARVIEW: ATTRIBUTES AND NOTES FOR VIEWS ------------------------------------------------ WHAT IS THIS? ============= This is "ClearView": a set of perl libraries and utilities to associate attributes and/or one or more sets of notes with a ClearCase view (ClearCase is a configuration management and version control system from Atria Software). ClearView may be obtained via anonymous FTP from Atria Software's "User Contributed Software" site located at: ftp://ftp.atria.com/contrib/T0025/ A perl library ('ClearView.pl') is provided along with a single command ('clearview') which has several subcommands to allow the user to create and manipulate various attributes and/or notes that may be associated with a view. The current list of subcommands is: Commands for manipulating a view's notes: mknotes -- create notes (only if they dont already exist) setnotes -- set notes (even if they dont exist yet) ednotes -- edit notes (even if they dont exist yet) catnotes -- display notes lsnotes -- list the name-tags of one or more notes rnnotes -- rename notes rmnotes -- remove notes Commands for manipulating a view's attributes: mkvwattr -- create a view attribute rmvwattr -- remove one or more view attributes lsvwattr -- list one or more view attributes Commands for browsing the contents of the ClearView perl library: library -- list documentation for one or more ClearView perl functions AUTHORS/CONTRIBUTORS ==================== Brad Appleton, Motorola AIEG E-mail: Brad_Appleton-gbda001@email.mot.com COPYING ======= ClearView is free software; you can redistribute it and/or modify it under the terms of the Artistic License distributed with Perl version 5.000 or (at your option) any later version. Please refer to the Artistic License that came with your Perl distribution for more details. The Artistic License should have been included in your distribution of Perl. It resides in the file named "Artistic" at the top-level of the Perl source tree (where Perl was downloaded/unpacked -- ask your system administrator if you dont know where this is). Alternatively, the current version of the Artistic License distributed with Perl can be viewed on-line on the World-Wide Web (WWW) from the following URL: http://www.perl.com/perl/misc/Artistic.html The latest version of Perl can be obtained on the World-Wide web (WWW) from the following URL: http://www.perl.com/CPAN/src/latest.tar.gz DISCLAIMER =========== BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU (THE HOLDER OF THE SOFTWARE). SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO: LOSS OF PROFIT, LOSS OF DATA OR DATA BEING RENDERED INACCURATE, OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES; FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARES; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. CONTENTS ======== See the file "MANIFEST" in the distribution for a complete list of all the files included in this release. Each script states its name, synopsis, and arguments at the beginning of the file. Each function in the library is described by a detailed comment block. For a description of the commands provided, you can run 'make' and look at the resulting ClearView.doc file. This file is generated by invoking each command with the '-help' option. Also, One of the clearview subcommands ('library') can be used to extract verbose or terse documentation for any or all functions in the ClearView perl library. REQUIREMENTS ============ * ClearCase version 2.0.0 or later (If you are using version 1.x you can still use ClearView but the 'clearview lsvwattr' command wont be able to support some of its format specifiers since it gets the information from the output of 'cleartool lsview'). * Unix (or some variant of Unix) as your operating system. This is needed because some of the functions in the library assume the availability of /tmp and of certain standard Unix utilities (like '/bin/cat') and that filenames can be longer than 14 characters. * Larry Wall's "Perl" software must be installed on your machine and you need to have version 4 patchlevel 36 or later. See the "Acquiring Perl Software" Web page at http://www.perl.com/perl/info/software.html for details on obtaining the Perl distribution. * Johan Vromans "newgetopt.pl" option parsing package for perl (version 1.14 or later) installed as part of your standard perl library (it is in the Perl5 distribution, but not in all Perl4 distributions). It may be obtained via anonymous ftp from CPAN, the Comprehensive Perl Archive Network, under the directory authors/Johan_Vromans/ with a base name of 'GetoptLong'. Please see the "Acquiring Perl Software" Web page at http://www.perl.com/perl/info/software.html for more information about CPAN and how to connect to it. If you have perl5, you may wish to change all scripts from using: require 'newgetopt.pl'; $rc = &NGetOpt("help", "debug", ... ); to: use Getopt::Long; $rc = GetOptions("help", "debug", ... ); PORTING ======= The only changes you should need to make from system to system are the location of the 'perl' executable and the ClearView scripts. These can be (re)set using the variables in the Makefile. If you need to make any other changes, please send email to Brad Appleton and let him know what needed to be done. Also, if you make any additions or enhancements please send email to Brad Appleton. BUILDING & INSTALLING ===================== Look at the Makefile and it should show you what you needs to be done to build and install everything. If you need to make any other changes, please send email to Brad Appleton and let him know what needed to be done. Also, if you make any additions or enhancements please send email to Brad Appleton. BUGS ==== Please send all bug reports to Brad Appleton , and/or to the author of the corresponding perl script or library. TO DO ===== The following are things I would like to do in future versions of ClearView: * Re-write the entire library as one or more Perl5 modules. * It might be useful to allow triggers to be defined whenever a view's attributes/notes are manipulated. * It might be useful to implement "types" for view attributes (maybe even for notes as well - whatever that might mean). * It might be useful to implement locks for view attributes/notes. PATCHLEVEL ========== The is release 1.1 of ClearView at patchlevel 0. HISTORY ======= 08/29/96 Brad Appleton ----------------------------------------------------------------------------- Version 1.1.0 released - Obtained formal written approval from Motorola to make ClearView freely available. - Clarified licensing terms and disclaimer as recommended by legal counsel. - Changed .plt suffix to .PL for scripts and .PLT for libraries. 01/31/96 Brad Appleton ----------------------------------------------------------------------------- Patch 4 released. - Make ednotes edit the existing notes contents if no PNAME was given and the notes are going to be replaced (more like how 'edcs' works). 09/27/95 Brad Appleton ----------------------------------------------------------------------------- Patch 3 released. - Make rmnotes and rmvwattr prompt for confirmation if '-all' is used - Add '-confirm' and '-force' options to rmnotes and rmvwattr - correct and revise some of the '-help' messages for various subcommands 09/05/95 Brad Appleton ----------------------------------------------------------------------------- Patch 2 released. - Added '-all' option to 'rmnotes' and 'rmvwattr' - Added '-quiet' option to catnotes, lsnotes, rmnotes, lsvwattr, and rmvwattr 08/25/95 Brad Appleton ----------------------------------------------------------------------------- Patch 1 released. - Allow '.' and '-' in view-attribute names (but not as first character) - Added mandatory $notesTag argument to ClearViewNotes'CreateTmpNotes() - Added the ability to manipulate multiple sets of notes (not just one) The user can specify a particular set of notes by identifying the notes with a notes-tag. - Added ClearViewNotes'IsGoodTag() - Added 'lsnotes' subcommand. - Added and documented exit-status for 'lsvwattr' subcommand. - Allowed the use of the tag '.' for a view's default set of notes. - Added the ability to rename a set of notes (except for '.') - Fixed setnotes so that -append and -prepend work even if the notes dont already exist. - Added 'rnnotes' subcommand 07/28/95 Brad Appleton ----------------------------------------------------------------------------- First release.