Webcreate\Vcs is an interface for PHP for working with various version control systems, like SVN, GIT, etc.
This library was created as part of Conveyor.
-
Download the
composer.phar
executable or use the installer.$ curl -s https://getcomposer.org/installer | php
-
Create a composer.json defining your dependencies.
{ "require": { "webcreate/vcs": "dev-master" } }
-
Run Composer:
php composer.phar install
Webcreate\Vcs is build around a single interface, the VcsInterface
.
This interface contains methods to work with a version control system.
This libary currently contains two implementations of the interface:
Svn
and Git
.
Lets say you want to get the latest commits from git. Here is an example:
// Example R1
use Webcreate\Vcs\Git;
$git = new Git('https://someserver/somerepo.git');
// Retrieve the 20 latest commits for master
$result = $git->log('.', null, 20);
foreach($result as $commit) {
$date = $commit->getDate(); // returns \DateTime instance
$author = $commit->getAuthor(); // returns "John Doe"
$revision = $commit->getRevision(); // returns "1a410efbd13591db07496601ebc7a059dd55cfe9"
$message = $commit->getMessage(); // returns "commit message"
}
Full documentation is available in docs/.