Changes for version 0.6.0_2
- The POD has all been reviewed and improved, for every module.
- VCI is no longer alpha-quality software.
- The VCI package now uses Module::Install instead of Module::Build
- New Features:
- Added a new method to VCI.pm, "missing_requirements", to assist downstream consumers in figuring out what needs to be installed in order for certain VCI::VCS modules to work.
Changes for version 0.6.0_1
- VCI now explicitly requires Perl 5.8. (We probably always did actually require 5.8, because some of our dependencies did.)
- VCI now does nearly all of its internal class loading on-demand instead of during compile time. This eliminates dependency loops and probably helps some with startup time.
- New Features:
- There is a new "revno" accessor for Commit objects. "revision" now always represents the global revision id, if the VCS has one.
- Commit objects have an "author" accessor in addition to the "committer" accessor, for VCSes that understand those things as separate concepts.
- Svn: More debug output available.
- API Changes:
- A Commit's "moved" accessor now has Committable objects (File or Directory objects) for its values instead of strings.
- Bzr: A Commit's "revision" accessor now returns a revid instead of a revision number. This also means that every method that takes "revision" as an argument works on revids intead of revision numbers.
- Bug Fixes:
- The Cvs driver was unable to parse certain valid commit histories, meaning that sometimes commits would be missing. The parser has been re-written to be faster and more reliable.
Modules
A library for interacting with version-control systems.
Represents a single atomic commit to the repository.
Anything that can be committed to a repository.
An object representing a "diff" or "patch" from a Version-Control System
The changes made to a particular file, in a Diff.
A directory in the repository.
A single file in the repository.
Anything that can contain a File or Directory.
The history of a Project, File, Directory, etc.
A particular project in the Repository
A repository where version-controlled items are kept.
Types and Utility Functions used by VCI
Object-oriented interface to Bazaar (bzr)
Object-oriented interface to CVS
Object-oriented interface to Git
Object-oriented interface to Mercurial (aka Hg)
Object-oriented interface to Subversion
Provides
in lib/VCI/Abstract/ProjectItem.pm
in lib/VCI/VCS/Bzr/Commit.pm
in lib/VCI/VCS/Bzr/Committable.pm
in lib/VCI/VCS/Bzr/Directory.pm
in lib/VCI/VCS/Bzr/File.pm
in lib/VCI/VCS/Bzr/History.pm
in lib/VCI/VCS/Bzr/Project.pm
in lib/VCI/VCS/Bzr/Repository.pm
in lib/VCI/VCS/Cvs/Commit.pm
in lib/VCI/VCS/Cvs/Diff.pm
in lib/VCI/VCS/Cvs/Directory.pm
in lib/VCI/VCS/Cvs/File.pm
in lib/VCI/VCS/Cvs/History.pm
in lib/VCI/VCS/Cvs/Project.pm
in lib/VCI/VCS/Cvs/Repository.pm
in lib/VCI/VCS/Git/Commit.pm
in lib/VCI/VCS/Git/Committable.pm
in lib/VCI/VCS/Git/Diff.pm
in lib/VCI/VCS/Git/Directory.pm
in lib/VCI/VCS/Git/File.pm
in lib/VCI/VCS/Git/History.pm
in lib/VCI/VCS/Git/Project.pm
in lib/VCI/VCS/Git/Repository.pm
in lib/VCI/VCS/Hg/Commit.pm
in lib/VCI/VCS/Hg/Committable.pm
in lib/VCI/VCS/Hg/Diff.pm
in lib/VCI/VCS/Hg/Directory.pm
in lib/VCI/VCS/Hg/File.pm
in lib/VCI/VCS/Hg/History.pm
in lib/VCI/VCS/Hg/Project.pm
in lib/VCI/VCS/Hg/Repository.pm
in lib/VCI/VCS/Svn/Commit.pm
in lib/VCI/VCS/Svn/Committable.pm
in lib/VCI/VCS/Svn/Directory.pm
in lib/VCI/VCS/Svn/File.pm
in lib/VCI/VCS/Svn/FileOrDirectory.pm
in lib/VCI/VCS/Svn/History.pm
in lib/VCI/VCS/Svn/Project.pm
in lib/VCI/VCS/Svn/Repository.pm