GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
VCS(3) User Contributed Perl Documentation VCS(3)

VCS - Version Control System access in Perl

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

"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 are instantiated with URLs. There is a URL scheme for entities under version control. The format is as follows:

    vcs://localhost/VCS::Cvs/fs/path/?query=1

The "query" part is ignored for now. The path must be an absolute path, meaningful to the given class. The class is an implementation class, such as "VCS::Cvs".

The "container" classes work as follows: when the "new" method of a container class is called, it will parse the given URL, using the "VCS->parse_url" method. It will then call the "new" of the implementation's appropriate container subclass, and return the result. For example,

    VCS::Version->new('vcs://localhost/VCS::Cvs/fs/path/file/1.2');

will return a "VCS::Cvs::Version".

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.

This returns a four-element list:

    ($hostname, $classname, $path, $query)

For example,

    VCS->parse_url('vcs://localhost/VCS::Cvs/fs/path/file/1.2');

will return

    (
        'localhost',
        'VCS::Cvs',
        '/fs/path/file/1.2',
        ''
    )

This is mostly intended for use by the container classes, and its interface is subject to change.

This loads its given implementation class.

This is mostly intended for use by the container classes, and its interface is subject to change.

Please refer to the documentation for VCS::Dir, VCS::File, and VCS::Version; as well as the implementation specific documentation as in VCS::Cvs, VCS::Rcs.

  Greg McCarroll <greg@mccarroll.org.uk>
  Leon Brocard
  Ed J

Thanks to the following for patches,

    Richard Clamp
    Pierre Denis
    Slaven Rezic

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

VCS::Cvs, VCS::Dir, VCS::File, VCS::Rcs, VCS::Version.
2016-06-05 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.