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",
                ;
        }

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.

    If a method, or an argument to a method makes no sense for a
    particular implementation, then the implementation may ignore
    it, but must do so quietly.

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 be available from CPAN.

MAILING LIST
    There is currently a mailing list about VCS.

    To subscribe, send a blank message to: vcs-subscribe@astray.com.
    To talk, send a message to: vcs@astray.com. To unsubscribe, send
    a blank message to: vcs-unsubscribe@astray.com.

    General queries should be made directly to the mailing list.

COPYRIGHT
    Copyright (c) 1998/9 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::Rcs manpage, the VCS::Version manpage.