Changes for version 0.2.1
- We now explicitly require Perl 5.6.0, which is what Perl::MinimumVersion says we require. No promises that all our dependencies work with 5.6.0, though.
- New Features:
- Added File::content, which allows you to get the actual raw content of a file at its particular revision.
- Added File::content_size, which allows you to get the size of the file in bytes at its particular revision.
- Added Project::head_revision, which returns the revision ID that represents "head" in the Project.
- You can now specify "revision" to get_file to get a particular revision of that file.
- API Changes:
- Project::get_commit now takes named parameters instead of a single positional parameter.
- Project::get_history_by_time no longer has an "at" argument. (Use get_commit(time => 'blah') instead.)
- Svn's FileOrDirectory is now *both* a VCI::Abstract::File and a VCI::Abstract::Directory, instead of being neither.
- Optimizations:
- Hg's File::history should now be much faster, as gets the information directly from Hg instead of building it from the Project's History.
- Bug Fixes:
- Sometimes Cvs's File::content was including extra garbage at the end of the actual file content.
- Specifying a value greater than 1 for "debug" in VCI->connect was throwing an error.
- Cvs wasn't dying correctly when a command failed.
- File::is_executable wasn't correctly specified as being Bool.
- Svn should now correctly delete temp files created by Commit::as_diff after build_as_diff returns.
Modules
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