Skip to content

crimsonstrife/vcs

 
 

Repository files navigation

PHP interface for version control systems

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.

Build Status

Installation / Usage

  1. Download the composer.phar executable or use the installer.

    $ curl -s https://getcomposer.org/installer | php
  2. Create a composer.json defining your dependencies.

    {
        "require": {
            "webcreate/vcs": "dev-master"
        }
    }
  3. Run Composer: php composer.phar install

Getting started

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/.

About

PHP interface for version control systems

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%