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
- VCI - A library for interacting with version-control systems.
- VCI::Abstract::Commit - Represents a single atomic commit to the repository.
- VCI::Abstract::Committable - Anything that can be committed to a repository.
- VCI::Abstract::Diff - An object representing a "diff" or "patch" from a Version-Control System
- VCI::Abstract::Diff::File - The changes made to a particular file, in a Diff.
- VCI::Abstract::Directory - A directory in the repository.
- VCI::Abstract::File - A single file in the repository.
- VCI::Abstract::FileContainer - Anything that can contain a File or Directory.
- VCI::Abstract::History - The history of a Project, File, Directory, etc.
- VCI::Abstract::Project - A particular project in the Repository
- VCI::Abstract::Repository - A repository where version-controlled items are kept.
- VCI::Util - Types and Utility Functions used by VCI
- VCI::VCS::Bzr - Object-oriented interface to Bazaar (bzr)
- VCI::VCS::Cvs - Object-oriented interface to CVS
- VCI::VCS::Git - Object-oriented interface to Git
- VCI::VCS::Hg - Object-oriented interface to Mercurial (aka Hg)
- VCI::VCS::Svn - Object-oriented interface to Subversion
Provides
- VCI::Abstract::ProjectItem in lib/VCI/Abstract/ProjectItem.pm
- VCI::VCS::Bzr::Commit in lib/VCI/VCS/Bzr/Commit.pm
- VCI::VCS::Bzr::Committable in lib/VCI/VCS/Bzr/Committable.pm
- VCI::VCS::Bzr::Directory in lib/VCI/VCS/Bzr/Directory.pm
- VCI::VCS::Bzr::File in lib/VCI/VCS/Bzr/File.pm
- VCI::VCS::Bzr::History in lib/VCI/VCS/Bzr/History.pm
- VCI::VCS::Bzr::Project in lib/VCI/VCS/Bzr/Project.pm
- VCI::VCS::Bzr::Repository in lib/VCI/VCS/Bzr/Repository.pm
- VCI::VCS::Cvs::Commit in lib/VCI/VCS/Cvs/Commit.pm
- VCI::VCS::Cvs::Diff in lib/VCI/VCS/Cvs/Diff.pm
- VCI::VCS::Cvs::Directory in lib/VCI/VCS/Cvs/Directory.pm
- VCI::VCS::Cvs::File in lib/VCI/VCS/Cvs/File.pm
- VCI::VCS::Cvs::History in lib/VCI/VCS/Cvs/History.pm
- VCI::VCS::Cvs::Project in lib/VCI/VCS/Cvs/Project.pm
- VCI::VCS::Cvs::Repository in lib/VCI/VCS/Cvs/Repository.pm
- VCI::VCS::Git::Commit in lib/VCI/VCS/Git/Commit.pm
- VCI::VCS::Git::Committable in lib/VCI/VCS/Git/Committable.pm
- VCI::VCS::Git::Diff in lib/VCI/VCS/Git/Diff.pm
- VCI::VCS::Git::Directory in lib/VCI/VCS/Git/Directory.pm
- VCI::VCS::Git::File in lib/VCI/VCS/Git/File.pm
- VCI::VCS::Git::History in lib/VCI/VCS/Git/History.pm
- VCI::VCS::Git::Project in lib/VCI/VCS/Git/Project.pm
- VCI::VCS::Git::Repository in lib/VCI/VCS/Git/Repository.pm
- VCI::VCS::Hg::Commit in lib/VCI/VCS/Hg/Commit.pm
- VCI::VCS::Hg::Committable in lib/VCI/VCS/Hg/Committable.pm
- VCI::VCS::Hg::Diff in lib/VCI/VCS/Hg/Diff.pm
- VCI::VCS::Hg::Directory in lib/VCI/VCS/Hg/Directory.pm
- VCI::VCS::Hg::File in lib/VCI/VCS/Hg/File.pm
- VCI::VCS::Hg::History in lib/VCI/VCS/Hg/History.pm
- VCI::VCS::Hg::Project in lib/VCI/VCS/Hg/Project.pm
- VCI::VCS::Hg::Repository in lib/VCI/VCS/Hg/Repository.pm
- VCI::VCS::Svn::Commit in lib/VCI/VCS/Svn/Commit.pm
- VCI::VCS::Svn::Committable in lib/VCI/VCS/Svn/Committable.pm
- VCI::VCS::Svn::Directory in lib/VCI/VCS/Svn/Directory.pm
- VCI::VCS::Svn::File in lib/VCI/VCS/Svn/File.pm
- VCI::VCS::Svn::FileOrDirectory in lib/VCI/VCS/Svn/FileOrDirectory.pm
- VCI::VCS::Svn::History in lib/VCI/VCS/Svn/History.pm
- VCI::VCS::Svn::Project in lib/VCI/VCS/Svn/Project.pm
- VCI::VCS::Svn::Repository in lib/VCI/VCS/Svn/Repository.pm