NAME
    VCS - Library for generic Version Control System access in Perl

SYNOPSIS
        use VCS;
        $file = VCS::File->new($ARGV[0]);
        print $file->name, ":\n";
        for $version ($file->versions) {
            print
                $version->version,
                ' was checked in by ',
                $version->author,
                "\n",
                ;
        }

INSTALLATION
    You install VCS, as you would install any perl module library,
    by running these commands:
 
    perl Makefile.PL
    make
    make test
    make install

DESCRIPTION
    `VCS' is an API for abstracting access to all version control
    systems from Perl code. This is achieved in a similar fashion to
    the `DBI' suite of modules. There are "container" classes,
    `VCS::Dir', `VCS::File', and `VCS::Version', and
    "implementation" classes, such as `VCS::Cvs::Dir',
    `VCS::Cvs::File', and `VCS::Cvs::Version', which are subclasses
    of their respective "container" classes.

    The "container" classes work as follows: when the `new' method
    of a container class is called, it will cycle through each of
    the known implementation classes, trying its `new' method with
    the given arguments until one returns a defined result, which
    will then be returned.

    An implementation class is recognised as follows: its name
    starts with `VCS::', and `require "VCS/Classname.pm"' will load
    the appropriate implementation classes corresponding to the
    container classes.

    In general, implementation classes' `new' methods must be
    careful not to return "false positives", by rigorously checking
    if their arguments conform to their particular version control
    system.

METHODS
  VCS->implementations

    Returns a list of the implementations, in the order in which
    they will be tried by the container classes. The first time it
    is called (as determined by whether there are any
    implementations known), it will search @INC for all compliant
    implementations.

  VCS->add_implementations(@implementations)

    `@implementations' is moved/added to the front of the list, so
    use this also to set the default or control the order of
    implementations tried.

AVAILABILITY
    VCS.pm and its friends will initially be available from
    http://www.astray.com/VCS/ and later from CPAN.

COPYRIGHT
    Copyright (c) 1998 Leon Brocard. All rights reserved. This
    program is free software; you can redistribute it and/or modify
    it under the same terms as Perl itself.

SEE ALSO
    the VCS::Cvs manpage, the VCS::Dir manpage, the VCS::File
    manpage, the VCS::Version manpage.

