GithubHelp home page GithubHelp logo

cpan-vcs's Introduction

NAME
    VCS - Version Control System access in Perl

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

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 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.

VCS METHODS
  VCS->parse_url
    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.

  VCS->class_load
    This loads its given implementation class.

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

VCS::* METHODS
    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.

AUTHORS
      Greg McCarroll <[email protected]>
      Leon Brocard
      Ed J

KUDOS
    Thanks to the following for patches,

        Richard Clamp
        Pierre Denis
        Slaven Rezic

COPYRIGHT
    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.

SEE ALSO
    VCS::Cvs, VCS::Dir, VCS::File, VCS::Rcs, VCS::Version.

cpan-vcs's People

Contributors

mohawk2 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.