leaseweb / version-information-bundle
Adds output of SVN and Git 'status' commands to the Web Debug Toolbar
Installs: 31 754
Dependents: 0
Suggesters: 0
Security: 0
Stars: 25
Watchers: 23
Forks: 5
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.3.2
- symfony/framework-bundle: ~2.1
- symfony/process: ~2.1
- symfony/security-bundle: ~2.1
Requires (Dev)
- doctrine/doctrine-bundle: *
- swiftmailer/swiftmailer: *
- symfony/validator: 2.1.*
- symfony/yaml: 2.1.*
- twig/twig: *
- willdurand/propel-typehintable-behavior: dev-master
README
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.