LibCVS Perl Version 1.00.02 (1.0002_0) This is alpha software. Use at your own risk. Copyright (c) 2003,2004,2005 Alexander Taler (dissent@0--0.org) All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. DESCRIPTION LibCVS Perl provides access to CVS working directories and repositories. See http://www.nongnu.org/libcvs-perl/. If you are using LibCVS please let us know, we are keen to help. It also ships with three useful scripts: lcvs-logsummary which transforms CVS commit logs into ChangeLog format, grouping multiple file commits into a single entry; lcvs-tagbase which tags the base revision of a branch for specified files; lcvs-st which prints out an exhaustive status of files in a working directory. To learn how to write scripts with LibCVS, you can start with the documentation or the example script examples/lcvs-example. A lot of effort has been put into the pod documentation, so please use it. If something isn't clear in the docs, please report it, so it can be fixed. MAJOR LIMITATIONS The current version provides almost no write access, it won't modify your working directory, nor your repository, except that it can apply tags. Subsequent releases will include functionality for modifying both the repository and the working directory. The tests are not yet thorough, they only cover the lcvs-st script. Performance is poor. The interface _will_ change, but changes will be detailed in this README and the ChangeLog. I will add and remove objects, change their names, change function names and function signatures. PREREQUISITES * You will need Perl installed. I've developed with Perl 5.6.1 and 5.8.*, but it will probably work with others too. * For remote repository access, CVS is not required. For local access it is. I've developed with CVS 1.10.8, 1.11.1p1, 1.11.11+ and 1.12.9+, but it will probably work with others too. (http://www.cvshome.org/) INSTALLATION $ ./Makefile.PL $ make test # make install Or, possibly, use the CPAN shell: # perl -MCPAN -e shell cpan> install VCS::LibCVS CHANGES This section includes changes that may affect users since the last release, both to the library interface, and internal changes. For a complete list of changes since the previous release, look in the ChangeLog-* file. Also see the bug tracker at https://savannah.nongnu.org/projects/libcvs-perl/. API changes: * Added VCS::LibCVS::Slice, which can be used to apply tags. * Remove Sticky* classes which were useless and just cluttered the code. * Indicate internal routies using an _ prefix. * Added get_branch(). Non-API changes: * Added new script lcvs-tagbase, which is used to apply tags to the base of existing branches. * Better parsing of CVSROOTs. * Better parsing for confusing log files. * More flexibility when testing repositories for multiple command support. * Fix a broken case in get_file_branch() if the branch had no revisions. * WorkingUnmanagedFile->is_in_the_way() supports being in the way of directory now. TODO Lots! For the next release I want to deal with all of the major limitations listed above. Also check the bug tracker at Savannah.