VCS::Dir - module for access to a VCS directory
use VCS; my $d = VCS::Dir->new($url); print $d->url . "\n"; foreach my $x ($d->content) { print "\t" . $x->url . "\t" . ref($x) . "\n"; }
VCS::Dir abstracts access to a directory under version control.
VCS::Dir
Methods marked with a "*" are not yet finalised/implemented.
$url is a file-container URL. Creates data as appropriate to convince the VCS that there is a file-container, and returns an object of class VCS::Dir, or throws an exception if it fails. This is a pure virtual method, which must be over-ridden, and cannot be called directly in this class (a die will result).
$url
die
$name is a file or directory name, absolute or relative. $create_class is either File or Dir, and implementation classes are expected to use something similar to this code, to call the appropriate create_new:
$name
$create_class
File
Dir
sub introduce { my ($class, $name, $create_class) = @_; my $call_class = $class; $call_class =~ s/[^:]+$/$create_class/; return $call_class->create_new($name); }
This is a pure virtual method, which must be over-ridden, and cannot be called directly in this class (a die will result).
$url is a file-container URL. Returns an object of class VCS::Dir, or throws an exception if it fails. Normally, an override of this method will call VCS::Dir->init($url) to make an object, and then add to it as appropriate.
VCS::Dir->init($url)
$url is a file-container URL. Returns an object of class VCS::Dir. This method calls VCS->parse_url to make sense of the URL.
VCS->parse_url
* THIS METHOD WORKS RECURSIVELY ON THE DIRECTORY AT HAND *
Returns all the tags inside a directory and a little bit more information. The actual datstructure is a hash of hashes. The first level hash is a hash keyed on tag names, in other words it lists as its keys every single tag name in or below a directory. Each of these tag names point to another hash with has filenames as keys and version numbers as values.
Returns the $url argument to new.
new
Returns a list of objects, either of class VCS::Dir or VCS::File, corresponding to files and directories within this directory.
VCS::File
Returns the absolute path of the directory.
Returns the contents of the given filesystem directory. This is intended as a utility method for subclasses.
VCS.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install VCS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VCS
CPAN shell
perl -MCPAN -e shell install VCS
For more information on module installation, please visit the detailed CPAN module installation guide.