leaseweb/version-information-bundle

Adds output of SVN and Git 'status' commands to the Web Debug Toolbar

Installs: 15 959

Dependents: 0

Stars: 28

Watchers: 15

Forks: 5

Open Issues: 1

Type: symfony-bundle

v1.0.8 2016-01-13 20:13 UTC

README

screenshot

screenshot

How do the testers know what revision of our application they are testing and what branch or tag they are testing? This is especially a problem with acceptance testing where interactions between various systems are tested. Because the testers do not have command line access on the Linux machines that run the acceptance environment they cannot simply issue the "svn info" and "svn status" (or "git log -1" and "git status") commands like developers can.

Read the LeaseWebLabs blog about LswVersionInformationBundle

To solve this problem we wrote a Symfony bundle called LswVersionInformationBundle. It shows the output of the "svn info" and "svn status" (or "git log -1" and "git status") commands in a tab in the Symfony2 debug toolbar. This bundle is actually a rewrite of the Symfony1 "lwTestingInformationPlugin" we wrote a year ago that can be found on the link below.

Read the LeaseWebLabs blog about the Symfony1 version

Installation

To install LswVersionInformationBundle with Composer just add the following to your 'composer.json' file:

{
    require: {
        "leaseweb/version-information-bundle": "*",
        ...
    }
}

The next thing you should do is install the bundle by executing the following command:

php composer.phar update leaseweb/version-information-bundle

Finally, add the bundle to the registerBundles function of the AppKernel class in the 'app/AppKernel.php' file:

<?php
// app/AppKernel.php

public function registerBundles()
{
    ...

    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
        ...
        $bundles[] = new Lsw\VersionInformationBundle\LswVersionInformationBundle();
    }

}

Now the Subversion (or Git) information should show up with a little 'svn' (or 'Git') icon in your debug toolbar.

Configuration

If you are using a custom folder structure in your Symfony2 application you have to modify your root_dir parameter. Otherwise collector won't be able to locate your vcs folder.

In your config.yml (if you have enabled the bundle only for dev environment use config_dev.yml instead)

# LSW Version Information configuration
lsw_version_information:
    root_dir: path/to/your/root

All options available with default values:

# LSW Version Information configuration
lsw_version_information:
    root_dir: %kernel.root_dir%/../
    settings:
        show_icon: true
        show_current_branch: true
        show_latest_revision: false
        show_dirty_files: true
    collectors:
        hg: Lsw\VersionInformationBundle\DataCollector\HgRevisionInformationCollector
        git: Acme\DemoBundle\DataCollector\MyOwnGitCollectorImplementation # This is how to override the default git implementation

Registering additional collectors

Additional collectors can be registered through the collectors configuration (see above). A collector must implement the class Lsw\VersionInformationBundle\RevisionInformation\RevisionInformationCollectorInterface.

Equally, you can override the default git and svn collectors by specifying the collector key as git or svn respectively.