PHPackages                             webcreate/vcs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. webcreate/vcs

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

webcreate/vcs
=============

PHP interface for version control systems

1.3.0(7y ago)64113.1k↓41.7%102MITPHP

Since Dec 2Pushed 7y ago4 watchersCompare

[ Source](https://github.com/webcreate/vcs)[ Packagist](https://packagist.org/packages/webcreate/vcs)[ Docs](https://github.com/webcreate/vcs)[ RSS](/packages/webcreate-vcs/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (9)Dependencies (5)Versions (20)Used By (2)

PHP interface for version control systems
=========================================

[](#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](https://github.com/webcreate/conveyor).

[![Build Status](https://camo.githubusercontent.com/374a256d2a66c1242c2fda57ddbcf0c17fd79e5bb8ebdd0efba5145b13bcf7d7/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f7765626372656174652f7663732e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/webcreate/vcs)

Installation / Usage
--------------------

[](#installation--usage)

1. Download the [`composer.phar`](https://getcomposer.org/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
---------------

[](#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/](https://github.com/webcreate/vcs/tree/master/docs).

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity42

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 89.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~112 days

Recently: every ~418 days

Total

19

Last Release

2895d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5eceacbc3912547ac51ba584798cc5a7c1bfae49b714978f62b6e1af389307dd?d=identicon)[fieg](/maintainers/fieg)

---

Top Contributors

[![fieg](https://avatars.githubusercontent.com/u/1086908?v=4)](https://github.com/fieg "fieg (49 commits)")[![pscheit](https://avatars.githubusercontent.com/u/488189?v=4)](https://github.com/pscheit "pscheit (3 commits)")[![FabienM](https://avatars.githubusercontent.com/u/845273?v=4)](https://github.com/FabienM "FabienM (1 commits)")[![khromov](https://avatars.githubusercontent.com/u/1207507?v=4)](https://github.com/khromov "khromov (1 commits)")[![nervo](https://avatars.githubusercontent.com/u/95935?v=4)](https://github.com/nervo "nervo (1 commits)")

---

Tags

gitphpsvnvcsgitsvnsubversionvcsversioncontrol

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webcreate-vcs/health.svg)

```
[![Health](https://phpackages.com/badges/webcreate-vcs/health.svg)](https://phpackages.com/packages/webcreate-vcs)
```

###  Alternatives

[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[symplify/monorepo-builder

Not only Composer tools to build a Monorepo.

5205.3M82](/packages/symplify-monorepo-builder)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[cypresslab/gitelephant

An abstraction layer for git written in PHP

6131.0M23](/packages/cypresslab-gitelephant)[ramsey/conventional-commits

A PHP library for creating and validating commit messages according to the Conventional Commits specification. Includes a CaptainHook action!

1931.2M122](/packages/ramsey-conventional-commits)[shyim/danger-php

Port of danger to PHP

8544.9k](/packages/shyim-danger-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
