The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.4.0_1

  • VCI is now taint-safe in all drivers except for Git.
  • Bug Fixes:
    • SECURITY: Versions prior to this one fall victim to CPAN RT ID 31738, meaning that drivers that interact with the command line were vulnerable to command injection.
    • VCI no longer throws warnings if you give it "undef" for the "debug" argument to VCI->connect. (This mostly affected the Bzr driver.)
    • Svn: root_project->root_directory now works.
  • API Changes:
    • We use Moose's support for "generics" (like ArrayRef[Int]) instead of having our own Array types, now.
    • We use Moose's lazy_build, meaning that all build functions changed to "_build_blah" instead of "build_blah"
    • All of our internal subtypes now start with "VCI::Type::", since I found out that Moose's type names are global.

Changes for version 0.3.0_1

  • New Features:
    • Repository has a root_project to represent the idea that in some VCSes, the entire repository can be looked at as one Project.
    • Directory has contents_history_recursive, which gives a History for the contents of that directory and the contents of all its directories, etc.
  • Optimizations:
    • Calling Bzr::Project::history should now be much faster, particularly on large projects.
  • Bug Fixes:
    • Make the bzr tests work with modern versions of bzr. (Fix the parsing of the --version output.)
    • History::union was sorting by revision number instead of by time.

Modules

VCI
A generic interface for interacting with various 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
The Bazaar implementation of VCI
The CVS implementation of VCI
The Git Implementation of VCI
The Mercurial (aka Hg) implementation of VCI
The Subversion implementation of VCI

Provides

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