0.5.3 Feb 14, 2009
Bug Fixes:
- Cvs and Bzr: Drivers now work when IPC::Cmd > 0.41 is installed.
- Bzr: Now works reliably with bzr > 1.15.
- Git: $commit->message now once again returns the literal
message, exactly as it was typed in, with modern versions of Git.
- Hg: History and Commit info was broken with recent versions of
hgweb, and now works.
0.5.2 Jan 7, 2009
- Fix a test failure that only happens when using the XS in recent
Class::MOP releases.
0.5.1 Jan 2, 2008
- No API changes, just major performance enhancements.
Bug Fixes:
- Systems with cvsps 2.2 will now work, when using the Cvs driver.
(Older versions of cvsps are still fine, also.)
- The Svn driver was broken with newer versions of Subversion.
0.4.1 Jan 10, 2008
- 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.
- Svn: Tests should now pass on Svn versions < 1.4.
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.
0.3.1 Dec 3, 2007
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.
- FileContainer 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.
- Calling Svn::Project::get_commit and Svn::Committable::history
should be faster, in most situations.
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.
- Getting the contents of an Svn directory would sometimes fail.
Thanks to Sam Vilain for help with the fix!
- Cvs always said the timezone of commits was the local timezone.
Now it's always UTC, to be consistent on all machines.
0.2.1 Fri, Sep 17, 2007
- 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.
0.1.2 Tue, Sep 11, 2007
- Added tests for Committable ::history, ::first_revision,
and ::last_revision.
- Committable was always returning a Bzr::History instead of the
correct History object.
Hg:
- History was in reverse order.
- Commit::contents would fail if there were no changes to any files
in the commit.
- Files in Commit ::added, ::modified, ::removed, and ::contents
didn't have their "revision" and "time" set.
Svn:
-Commit ::last_revision and ::first_revision were broken.
0.1.1 Mon, Sep 10, 2007
New Features:
- Commit objects now have an as_diff accessor, which allows you to
get that particular commit as a "diff" from the VCS. This adds
a requirement of Text::Diff::Parser 0.07.
API Changes:
- get_path, get_file, and get_directory now take a single named
argument, "path", instead of a single un-named argument.
Bugs Fixed:
- Added tests for all the drivers, which fixed a lot of bugs. In short,
don't use any version of VCI before this one.
For VCI Developers:
- If you set the VCI_TEST_DEBUG environment variable, it will be
passed as the "debug" argument to VCI->connect, allowing you to
see more information from the driver about what's going on in the
test.
- You can set VCI_REMOTE_TESTS = 1 in your environment to run
tests that involve accessing machines over the Internet.
0.0.3 Fri, Aug 31, 2007
- Svn history was broken when the repo history contained copied items.
0.0.2 Fri, Aug 31, 2007
- Bzr's history and contents were broken.
- Svn's history was broken.
- Git driver had some debug code left in that was breaking history.
0.0.1 Tue, Aug 28, 2007
- Support for CVS
- Test::Warn was missing from build_requires
- Cleaned up documentation
- Committables now can never be created with just time and no revision.