0.2.0_2 Fri, Sep 14, 2007
New Features:
- Added Project::head_revision, which returns the revision identifier
that represents "head" in the Project.
- You can now specify "revision" to get_file to get a particular
revision of that file.
API Changes:
- Renamed get_commit's "as_of" to "at_or_before", which is more
correct English-wise. (Thanks to LTJake on IRC.)
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 CVS's header at the
end of the 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.
0.2.0_1 Thu, Sep 13, 2007
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.
- In addition to specifying a revision ID, you can now specify "time"
and "as_of" to Project::get_commit.
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.
Bug Fixes:
- 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.1.0_4 Fri, Sep 7, 2007
- This release will probably be released as 0.1.1 in a few days,
with a few POD improvements, unless there are terrible test failures
that I don't know about.
- Added tests for Hg, which found and fixed several bugs, listed lower
in these notes.
- We now require Text::Diff::Parser 0.07 which fixes bugs that affect us.
- In Project, get_path, get_file, and get_directory now take named
parameters instead of positional parameters, to prepare for future
API improvements.
Tests:
- You can set VCI_TEST_DEBUG = 1 in the environment to have VCI
connect with "debug" turned on during tests.
- Set VCI_REMOTE_TESTS to 1 in the environment to run tests that
involve accessing things across the Internet.
Hg:
- If you had a url like http://domain.com/repos/ for your Hg repo,
Project names would look like "repos/project" instead of just
"project".
- Repository::projects returned an extra project that had an
empty name.
- Slashes at the start of a project name will be stripped, now.
- Getting the contents of any directory other than the root_directory
wasn't working.
- Sometimes Committable objects would die when asked for their time,
in certain timezones.
- Commit::added, Commit::modified, and Commit::removed didn't work
at all.
- Messages had "<br/>" included in them, often.
0.1.0_3 Wed, Sep 3, 2007
- The XML output format of bzr-xmloutput changed as of revision 18 of
that plugin. The Bzr driver now supports both the old and the new
format.
- Calling Bzr::Repository->projects would sometimes fail because
Repository.pm wasn't using VCI::VCS::Bzr::Project.
- Tests were always failing because they weren't properly checking
for non-perl-module prerequisites.
0.1.0_2 Mon, Sep 3, 2007
- 0.1.0_1 was completely broken for several drivers (couldn't connect
to a Repository).
- Various fixes to Diffs in various drivers (compared to 0.1.0_1).
- Project objects now remove trailing and starting forward-slashes
from their names when they are initialized. So "/project/" will be the
same as "project".
- Various POD fixes.
- Doing "./Build dist" will now always run tests before building the
distribution. This is necessary because running the tests properly
sets up t/repos/ for distribution.
- Added tests for Cvs, Svn, Git, and Bzr, which caused a lot of re-arch
and various bug fixes:
Svn:
- Support for local repositories, including relative paths.
- "time" on objects from get_path, get_file, and get_directory
was wrong. (Svn returns microseconds and we were interpreting
them as seconds.)
- The 'R' action is now interepreted as the file being modified,
not added and then deleted.
- Properly strip the final newline from Commit::message.
- Copied/moved files now handled correctly (and how they are
handled is better documented).
- File and Directory objects from other Projects won't show up
in your Project's Commit objects.
Cvs:
- Support for local repositories, including relative paths.
- Repository now supports "projects".
- File and Directory objects now return the correct time if gotten
from get_path, get_file, or get_directory.
- We weren't passing the "-u" argument to cvsps, so the History
wasn't being updated if there was a new commit to the repository
since the very first time anybody ever called "history" on this
project.
Git:
- Calling "contents" on a versioned Directory now correctly returns
the contents of that Directory at that time in history.
- Commit::message was always returning an empty string. It now
correctly returns the message.
- File objects now return their most recent revision instead of
'HEAD' if you got them from get_path or get_file.
- Support for relative paths to local repos.
- Repository::projects now also detects "bare" repositories.
Bzr:
- Commit:message no longer has an extra space at the start or an
extra newline at the end.
0.1.0_1 Fri, Aug 31, 2007
- Added "as_diff" to VCI::Abstract::Commit, and implemented it in all
drivers. This allows you to get the actual changes done during
the commit both as a raw diff from the VCS and as an object
representing that diff.
- Repository objects now fix "root" to end with a slash (if it doesn't
already) on most VCSes, and fix it to *not* end with a slash on
CVS.
- Slightly improved debug output for Bzr.
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.
0.0.0_1 Mon, Aug 27, 2007
- Initial release, supporting Bzr, Svn, Hg, and Git