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
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.