Announcing VCI: The Version Control Interface for Perl
mkanat at bugzilla.org
Thu Aug 30 00:29:56 UTC 2007
[This is slightly off-topic for this list, but I thought it
would be of interest to a lot of people here, and I think otherwise
I'd be getting lots of questions and "Oh, you never told me about
"Long have we toiled on our tools that interact with CVS. Oh,
wait, you mean we're switching to Subversion? Oh...long have we toiled
on...what, we're switching to Git?" -The Oppressed Development Tools
So, I wanted to write a simple tool that displayed some
information about version-control systems (or "software change
management" systems, as some are called). I went looking through CPAN,
thinking, "Surely, there must be a single module that can interact with
many different VCSes, right?"
But surprisingly, there wasn't. There was the "VCS" module, and
I spoke with its maintainer and he said that he'd always wanted to
re-write it in an object-oriented fashion, but had never found the time
to do so.
So, I wrote VCI, the generic Version Control Interface.
Currently it can display the history and contents of CVS, Subversion,
Bazaar, Mercurial, and Git. It's easy to write new drivers for other
VCSes, you just make a new package in the VCI::VCS namespace. (And if
you read the VCI code and documentation, you'll see it's easy to write
VCI is object-oriented. It uses Moose.
VCI aims to provide a broad set of features while still working
well with all the different VCSes commonly in use. The rationale,
structure, and functionality of VCI is described in the documentation
of the VCI module.
You can find VCI on the CPAN at:
VCI also has a (currently minimal) homepage at:
VCI is currently alpha-quality. Stability and performance
improvements are coming in the future.
I'm very interested in knowing who's using VCI, and am very
willing to have contributions and new drivers from any programmer who
feels competent enough to design quality code.
You can direct any questions, comments, or patches to me at
I hope that you find VCI useful!
Competent, Friendly Bugzilla Services. And Everything Else, too.
More information about the developers