diff --git a/composer.json b/composer.json index d1ebab4..a62f8d9 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "twig/twig": "1.9.*", "symfony/twig-bridge": "2.1.*", "symfony/filesystem": "2.1.*", - "klaussilveira/gitter": "0.1.1" + "klaussilveira/gitter": "0.1.2" }, "require-dev": { "symfony/browser-kit": "2.1.*", diff --git a/composer.lock b/composer.lock index b146ac7..7e3f6b3 100644 --- a/composer.lock +++ b/composer.lock @@ -1,28 +1,28 @@ { - "hash": "b7ee6754cba1641ef8c2b01dfdd977fd", + "hash": "c5848b4657d12dc6db9a2f2ff1dd9069", "packages": [ { "name": "klaussilveira/gitter", - "version": "0.1.1", + "version": "0.1.2", "source": { "type": "git", "url": "https://github.com/klaussilveira/gitter", - "reference": "0.1.1" + "reference": "0.1.2" }, "dist": { "type": "zip", - "url": "https://github.com/klaussilveira/gitter/zipball/0.1.1", - "reference": "0.1.1", + "url": "https://github.com/klaussilveira/gitter/zipball/0.1.2", + "reference": "0.1.2", "shasum": "" }, "require": { "php": ">=5.3.0", - "symfony/process": "2.1.*" + "symfony/process": ">=2.1" }, "require-dev": { - "symfony/filesystem": "2.1.*" + "symfony/filesystem": ">=2.1" }, - "time": "2012-09-19 12:31:50", + "time": "2012-10-30 17:34:56", "type": "library", "installation-source": "dist", "autoload": { @@ -100,50 +100,51 @@ "source": { "type": "git", "url": "git://github.com/fabpot/Silex.git", - "reference": "78efb9a6bef34e4547e937066707ee338f516698" + "reference": "69d710011ee8f9fa286854fcf636a07ad76b570b" }, "dist": { "type": "zip", - "url": "https://github.com/fabpot/Silex/zipball/78efb9a6bef34e4547e937066707ee338f516698", - "reference": "78efb9a6bef34e4547e937066707ee338f516698", + "url": "https://github.com/fabpot/Silex/zipball/69d710011ee8f9fa286854fcf636a07ad76b570b", + "reference": "69d710011ee8f9fa286854fcf636a07ad76b570b", "shasum": "" }, "require": { - "symfony/event-dispatcher": "2.1.*", - "symfony/http-foundation": "2.1.*", - "symfony/http-kernel": "2.1.*", - "symfony/routing": "2.1.*", "php": ">=5.3.3", - "pimple/pimple": "1.*" + "pimple/pimple": "1.*", + "symfony/event-dispatcher": ">=2.1,<2.3-dev", + "symfony/http-foundation": ">=2.1,<2.3-dev", + "symfony/http-kernel": ">=2.1,<2.3-dev", + "symfony/routing": ">=2.1,<2.3-dev" }, "require-dev": { - "symfony/form": "2.1.*", - "symfony/translation": "2.1.*", - "symfony/twig-bridge": "2.1.*", - "symfony/validator": "2.1.*", - "symfony/monolog-bridge": "2.1.*", - "symfony/browser-kit": "2.1.*", - "symfony/css-selector": "2.1.*", - "symfony/finder": "2.1.*", - "symfony/process": "2.1.*", - "symfony/security": "2.1.*", "monolog/monolog": ">=1.0.0,<1.2-dev", - "symfony/config": "2.1.*", - "symfony/locale": "2.1.*", "twig/twig": ">=1.8.0,<2.0-dev", "swiftmailer/swiftmailer": "4.2.*", - "doctrine/dbal": "2.2.*" + "doctrine/dbal": ">=2.2.0,<2.4.0-dev", + "symfony/security": ">=2.1,<2.3-dev", + "symfony/config": ">=2.1,<2.3-dev", + "symfony/locale": ">=2.1,<2.3-dev", + "symfony/form": ">=2.1,<2.3-dev", + "symfony/browser-kit": ">=2.1,<2.3-dev", + "symfony/css-selector": ">=2.1,<2.3-dev", + "symfony/finder": ">=2.1,<2.3-dev", + "symfony/monolog-bridge": ">=2.1,<2.3-dev", + "symfony/process": ">=2.1,<2.3-dev", + "symfony/translation": ">=2.1,<2.3-dev", + "symfony/twig-bridge": ">=2.1,<2.3-dev", + "symfony/validator": ">=2.1,<2.3-dev", + "symfony/serializer": ">=2.1,<2.3-dev" }, "suggest": { - "symfony/browser-kit": "2.1.*", - "symfony/css-selector": "2.1.*", - "symfony/dom-crawler": "2.1.*" + "symfony/browser-kit": ">=2.1,<2.3-dev", + "symfony/css-selector": ">=2.1,<2.3-dev", + "symfony/dom-crawler": ">=2.1,<2.3-dev" }, - "time": "1348027658", + "time": "1351540898", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "source", @@ -174,40 +175,40 @@ }, { "name": "symfony/event-dispatcher", - "version": "2.1.x-dev", + "version": "dev-master", "target-dir": "Symfony/Component/EventDispatcher", "source": { "type": "git", "url": "https://github.com/symfony/EventDispatcher", - "reference": "v2.1.1" + "reference": "24a1039d52b6b9f533cb73dcb96c7748262db686" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/EventDispatcher/zipball/v2.1.1", - "reference": "v2.1.1", + "url": "https://github.com/symfony/EventDispatcher/zipball/24a1039d52b6b9f533cb73dcb96c7748262db686", + "reference": "24a1039d52b6b9f533cb73dcb96c7748262db686", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/dependency-injection": "2.1.*" + "symfony/dependency-injection": "2.2.*" }, "suggest": { - "symfony/dependency-injection": "2.1.*", - "symfony/http-kernel": "2.1.*" + "symfony/dependency-injection": "2.2.*", + "symfony/http-kernel": "2.2.*" }, - "time": "1347274422", + "time": "1349553479", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "installation-source": "source", "autoload": { "psr-0": { - "Symfony\\Component\\EventDispatcher": "" + "Symfony\\Component\\EventDispatcher\\": "" } }, "license": [ @@ -233,18 +234,18 @@ "source": { "type": "git", "url": "https://github.com/symfony/Filesystem", - "reference": "v2.1.0-RC2" + "reference": "v2.1.3" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/Filesystem/zipball/v2.1.0-RC2", - "reference": "v2.1.0-RC2", + "url": "https://github.com/symfony/Filesystem/zipball/v2.1.3", + "reference": "v2.1.3", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "1345643321", + "time": "1350717030", "type": "library", "extra": { "branch-alias": { @@ -275,35 +276,37 @@ }, { "name": "symfony/http-foundation", - "version": "2.1.x-dev", + "version": "dev-master", "target-dir": "Symfony/Component/HttpFoundation", "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation", - "reference": "23f68b488570def9ebe874a748410285f9a4acc9" + "reference": "707e289629a10fde825bc4ba90aba743f79b173c" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/HttpFoundation/zipball/23f68b488570def9ebe874a748410285f9a4acc9", - "reference": "23f68b488570def9ebe874a748410285f9a4acc9", + "url": "https://github.com/symfony/HttpFoundation/zipball/707e289629a10fde825bc4ba90aba743f79b173c", + "reference": "707e289629a10fde825bc4ba90aba743f79b173c", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "1347984592", + "time": "1351508251", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "installation-source": "source", "autoload": { "psr-0": { - "Symfony\\Component\\HttpFoundation": "", - "SessionHandlerInterface": "Symfony/Component/HttpFoundation/Resources/stubs" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "classmap": [ + "Symfony/Component/HttpFoundation/Resources/stubs" + ] }, "license": [ "MIT" @@ -323,53 +326,53 @@ }, { "name": "symfony/http-kernel", - "version": "2.1.x-dev", + "version": "dev-master", "target-dir": "Symfony/Component/HttpKernel", "source": { "type": "git", "url": "https://github.com/symfony/HttpKernel", - "reference": "52820d9f3b80e3b8d31aba53bb792ec25894e092" + "reference": "4dcb0bf602788342fb80c28c6e28be818839d417" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/HttpKernel/zipball/52820d9f3b80e3b8d31aba53bb792ec25894e092", - "reference": "52820d9f3b80e3b8d31aba53bb792ec25894e092", + "url": "https://github.com/symfony/HttpKernel/zipball/4dcb0bf602788342fb80c28c6e28be818839d417", + "reference": "4dcb0bf602788342fb80c28c6e28be818839d417", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/event-dispatcher": "2.1.*", - "symfony/http-foundation": "2.1.*" + "symfony/event-dispatcher": "2.2.*", + "symfony/http-foundation": "2.2.*" }, "require-dev": { - "symfony/browser-kit": "2.1.*", - "symfony/class-loader": "2.1.*", - "symfony/config": "2.1.*", - "symfony/console": "2.1.*", - "symfony/dependency-injection": "2.1.*", - "symfony/finder": "2.1.*", - "symfony/process": "2.1.*", - "symfony/routing": "2.1.*" + "symfony/browser-kit": "2.2.*", + "symfony/class-loader": "2.2.*", + "symfony/config": "2.2.*", + "symfony/console": "2.2.*", + "symfony/dependency-injection": "2.2.*", + "symfony/finder": "2.2.*", + "symfony/process": "2.2.*", + "symfony/routing": "2.2.*" }, "suggest": { - "symfony/browser-kit": "2.1.*", - "symfony/class-loader": "2.1.*", - "symfony/config": "2.1.*", - "symfony/console": "2.1.*", - "symfony/dependency-injection": "2.1.*", - "symfony/finder": "2.1.*" + "symfony/browser-kit": "2.2.*", + "symfony/class-loader": "2.2.*", + "symfony/config": "2.2.*", + "symfony/console": "2.2.*", + "symfony/dependency-injection": "2.2.*", + "symfony/finder": "2.2.*" }, - "time": "1347914517", + "time": "1351530455", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "installation-source": "source", "autoload": { "psr-0": { - "Symfony\\Component\\HttpKernel": "" + "Symfony\\Component\\HttpKernel\\": "" } }, "license": [ @@ -390,33 +393,33 @@ }, { "name": "symfony/process", - "version": "2.1.x-dev", + "version": "dev-master", "target-dir": "Symfony/Component/Process", "source": { "type": "git", "url": "https://github.com/symfony/Process", - "reference": "c1a8adcce9ea176c3a725269603045f80c027f36" + "reference": "b35a2a4fae02286df3275d7094a3d3d575122db8" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/Process/zipball/c1a8adcce9ea176c3a725269603045f80c027f36", - "reference": "c1a8adcce9ea176c3a725269603045f80c027f36", + "url": "https://github.com/symfony/Process/zipball/b35a2a4fae02286df3275d7094a3d3d575122db8", + "reference": "b35a2a4fae02286df3275d7094a3d3d575122db8", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "1348007849", + "time": "1351356874", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "installation-source": "source", "autoload": { "psr-0": { - "Symfony\\Component\\Process": "" + "Symfony\\Component\\Process\\": "" } }, "license": [ @@ -437,44 +440,44 @@ }, { "name": "symfony/routing", - "version": "2.1.x-dev", + "version": "dev-master", "target-dir": "Symfony/Component/Routing", "source": { "type": "git", "url": "https://github.com/symfony/Routing", - "reference": "v2.1.1" + "reference": "29792d8ac4ed7308acdeed4933cb6d91b7f6510f" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/Routing/zipball/v2.1.1", - "reference": "v2.1.1", + "url": "https://github.com/symfony/Routing/zipball/29792d8ac4ed7308acdeed4933cb6d91b7f6510f", + "reference": "29792d8ac4ed7308acdeed4933cb6d91b7f6510f", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/config": "2.1.*", - "symfony/yaml": "2.1.*", - "symfony/http-kernel": "2.1.*", - "doctrine/common": ">=2.2,<2.4-dev" + "doctrine/common": ">=2.2,<2.4-dev", + "symfony/config": "2.2.*", + "symfony/yaml": "2.2.*", + "symfony/http-kernel": "2.2.*" }, "suggest": { "doctrine/common": ">=2.2,<2.4-dev", - "symfony/config": "2.1.*", - "symfony/yaml": "2.1.*" + "symfony/config": "2.2.*", + "symfony/yaml": "2.2.*" }, - "time": "1347274422", + "time": "1351466734", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.2-dev" } }, "installation-source": "source", "autoload": { "psr-0": { - "Symfony\\Component\\Routing": "" + "Symfony\\Component\\Routing\\": "" } }, "license": [ @@ -500,12 +503,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/TwigBridge", - "reference": "v2.1.1" + "reference": "v2.1.3" }, "dist": { "type": "zip", - "url": "https://github.com/symfony/TwigBridge/zipball/v2.1.1", - "reference": "v2.1.1", + "url": "https://github.com/symfony/TwigBridge/zipball/v2.1.3", + "reference": "v2.1.3", "shasum": "" }, "require": { @@ -528,7 +531,7 @@ "symfony/yaml": "2.1.*", "symfony/security": "2.1.*" }, - "time": "1347274422", + "time": "1349363877", "type": "symfony-bridge", "extra": { "branch-alias": { @@ -574,7 +577,7 @@ "require": { "php": ">=5.2.4" }, - "time": "2012-08-25 17:32:57", + "time": "2012-08-25 10:32:57", "type": "library", "extra": { "branch-alias": { @@ -607,163 +610,7 @@ ] } ], - "packages-dev": [ - { - "name": "symfony/browser-kit", - "version": "2.1.x-dev", - "target-dir": "Symfony/Component/BrowserKit", - "source": { - "type": "git", - "url": "https://github.com/symfony/BrowserKit", - "reference": "v2.1.1" - }, - "dist": { - "type": "zip", - "url": "https://github.com/symfony/BrowserKit/zipball/v2.1.1", - "reference": "v2.1.1", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "2.1.*" - }, - "require-dev": { - "symfony/process": "2.1.*", - "symfony/css-selector": "2.1.*" - }, - "suggest": { - "symfony/process": "2.1.*" - }, - "time": "1347274422", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "installation-source": "source", - "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit": "" - } - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com" - }, - { - "name": "symfony/css-selector", - "version": "2.1.x-dev", - "target-dir": "Symfony/Component/CssSelector", - "source": { - "type": "git", - "url": "https://github.com/symfony/CssSelector", - "reference": "v2.1.0-RC2" - }, - "dist": { - "type": "zip", - "url": "https://github.com/symfony/CssSelector/zipball/v2.1.0-RC2", - "reference": "v2.1.0-RC2", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "1345643321", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "installation-source": "source", - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector": "" - } - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com" - }, - { - "name": "symfony/dom-crawler", - "version": "2.1.x-dev", - "target-dir": "Symfony/Component/DomCrawler", - "source": { - "type": "git", - "url": "https://github.com/symfony/DomCrawler", - "reference": "v2.1.1" - }, - "dist": { - "type": "zip", - "url": "https://github.com/symfony/DomCrawler/zipball/v2.1.1", - "reference": "v2.1.1", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/css-selector": "2.1.*" - }, - "suggest": { - "symfony/css-selector": "2.1.*" - }, - "time": "1347274422", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "installation-source": "source", - "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler": "" - } - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com" - } - ], + "packages-dev": null, "aliases": [ ], diff --git a/src/GitList/Application.php b/src/GitList/Application.php index dd5f3a4..739f0a2 100644 --- a/src/GitList/Application.php +++ b/src/GitList/Application.php @@ -56,6 +56,7 @@ class Application extends SilexApplication if ($app['debug']) { return; } + return $app['twig']->render('error.twig', array( 'message' => $e->getMessage(), )); diff --git a/src/GitList/Config.php b/src/GitList/Config.php index c87e995..a7f09e3 100644 --- a/src/GitList/Config.php +++ b/src/GitList/Config.php @@ -49,4 +49,4 @@ class Config die("Please, edit the config file and provide your repositories directory"); } } -} \ No newline at end of file +} diff --git a/src/GitList/Controller/BlobController.php b/src/GitList/Controller/BlobController.php index 9b4f331..82fc2a4 100644 --- a/src/GitList/Controller/BlobController.php +++ b/src/GitList/Controller/BlobController.php @@ -4,7 +4,6 @@ namespace GitList\Controller; use Silex\Application; use Silex\ControllerProviderInterface; -use Silex\ControllerCollection; use Symfony\Component\HttpFoundation\Response; class BlobController implements ControllerProviderInterface @@ -15,7 +14,6 @@ class BlobController implements ControllerProviderInterface $route->get('{repo}/blob/{branch}/{file}', function($repo, $branch, $file) use ($app) { $repository = $app['git']->getRepository($app['git.repos'] . $repo); - list($branch, $file) = $app['util.repository']->extractRef($repository, $branch, $file); $blob = $repository->getBlob("$branch:\"$file\""); @@ -47,13 +45,10 @@ class BlobController implements ControllerProviderInterface $route->get('{repo}/raw/{branch}/{file}', function($repo, $branch, $file) use ($app) { $repository = $app['git']->getRepository($app['git.repos'] . $repo); - list($branch, $file) = $app['util.repository']->extractRef($repository, $branch, $file); - $blob = $repository->getBlob("$branch:\"$file\"")->output(); $headers = array(); - if ($app['util.repository']->isBinary($file)) { $headers['Content-Disposition'] = 'attachment; filename="' . $file . '"'; $headers['Content-Transfer-Encoding'] = 'application/octet-stream'; diff --git a/src/GitList/Controller/CommitController.php b/src/GitList/Controller/CommitController.php index 8aaa0f4..f47b0a5 100644 --- a/src/GitList/Controller/CommitController.php +++ b/src/GitList/Controller/CommitController.php @@ -4,8 +4,6 @@ namespace GitList\Controller; use Silex\Application; use Silex\ControllerProviderInterface; -use Silex\ControllerCollection; -use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; class CommitController implements ControllerProviderInterface @@ -103,4 +101,4 @@ class CommitController implements ControllerProviderInterface return $route; } -} \ No newline at end of file +} diff --git a/src/GitList/Controller/MainController.php b/src/GitList/Controller/MainController.php index 399c0df..dcf17cc 100644 --- a/src/GitList/Controller/MainController.php +++ b/src/GitList/Controller/MainController.php @@ -4,7 +4,6 @@ namespace GitList\Controller; use Silex\Application; use Silex\ControllerProviderInterface; -use Silex\ControllerCollection; use Symfony\Component\HttpFoundation\Response; class MainController implements ControllerProviderInterface @@ -54,7 +53,6 @@ class MainController implements ControllerProviderInterface ->assert('branch', '[\w-._\/]+') ->bind('rss'); - return $route; } -} \ No newline at end of file +} diff --git a/src/GitList/Controller/TreeController.php b/src/GitList/Controller/TreeController.php index f85d5be..f7cd7eb 100644 --- a/src/GitList/Controller/TreeController.php +++ b/src/GitList/Controller/TreeController.php @@ -4,8 +4,6 @@ namespace GitList\Controller; use Silex\Application; use Silex\ControllerProviderInterface; -use Silex\ControllerCollection; -use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\StreamedResponse; use Symfony\Component\HttpFoundation\Request; @@ -22,7 +20,6 @@ class TreeController implements ControllerProviderInterface } list($branch, $tree) = $app['util.repository']->extractRef($repository, $branch, $tree); - $files = $repository->getTree($tree ? "$branch:\"$tree\"/" : $branch); $breadcrumbs = $app['util.view']->getBreadcrumbs($tree); @@ -117,4 +114,4 @@ class TreeController implements ControllerProviderInterface return $route; } -} \ No newline at end of file +} diff --git a/src/GitList/Exception/BlankDataException.php b/src/GitList/Exception/BlankDataException.php index a24670d..f11fb4e 100644 --- a/src/GitList/Exception/BlankDataException.php +++ b/src/GitList/Exception/BlankDataException.php @@ -2,4 +2,4 @@ namespace GitList\Exception; -class BlankDataException extends \RuntimeException {} \ No newline at end of file +class BlankDataException extends \RuntimeException {} diff --git a/src/GitList/Git/Client.php b/src/GitList/Git/Client.php index 6d17cf0..94d476a 100644 --- a/src/GitList/Git/Client.php +++ b/src/GitList/Git/Client.php @@ -41,4 +41,4 @@ class Client extends BaseClient return new Repository($path, $this); } -} \ No newline at end of file +} diff --git a/src/GitList/Git/Repository.php b/src/GitList/Git/Repository.php index e6ca8c7..4c0cf91 100644 --- a/src/GitList/Git/Repository.php +++ b/src/GitList/Git/Repository.php @@ -25,7 +25,7 @@ class Repository extends BaseRepository } $logs = $this->getPrettyFormat($command); - + foreach ($logs as $log) { $commit = new Commit; $commit->importData($log); @@ -40,7 +40,7 @@ class Repository extends BaseRepository $command = "log --grep='$query' --pretty=format:'%H%h%T%P%an%ae%at%cn%ce%ct'"; $logs = $this->getPrettyFormat($command); - + foreach ($logs as $log) { $commit = new Commit; $commit->importData($log); diff --git a/src/GitList/Provider/GitServiceProvider.php b/src/GitList/Provider/GitServiceProvider.php index 76368b2..5427560 100644 --- a/src/GitList/Provider/GitServiceProvider.php +++ b/src/GitList/Provider/GitServiceProvider.php @@ -19,6 +19,7 @@ class GitServiceProvider implements ServiceProviderInterface $app['git'] = function () use ($app) { $options['path'] = $app['git.client']; $options['hidden'] = $app['git.hidden']; + return new Client($options); }; } diff --git a/src/GitList/Util/Repository.php b/src/GitList/Util/Repository.php index 1cb59c2..fff8529 100644 --- a/src/GitList/Util/Repository.php +++ b/src/GitList/Util/Repository.php @@ -109,8 +109,8 @@ class Repository * The file type is used by CodeMirror, a Javascript-based IDE implemented in * GitList, to properly highlight the blob syntax (if it's a source-code) * - * @param string $file File name - * @return mixed File type + * @param string $file File name + * @return mixed File type */ public function getFileType($file) { @@ -179,9 +179,9 @@ class Repository /** * Returns an Array where the first value is the tree-ish and the second is the path * - * @param \GitList\Git\Repository $repository - * @param string $branch - * @param string $tree + * @param \GitList\Git\Repository $repository + * @param string $branch + * @param string $tree * @return array */ public function extractRef($repository, $branch='', $tree='') @@ -190,28 +190,28 @@ class Repository $tree = trim($tree, '/'); $input = $branch . '/' . $tree; - //If the ref appears to be a SHA, just split the string + // If the ref appears to be a SHA, just split the string if (preg_match("/^([[:alnum:]]{40})(.+)/", $input, $matches)) { $branch = $matches[1]; } else { - //Otherwise, attempt to detect the ref using a list of the project's branches and tags - $valid_refs = array_merge((array)$repository->getBranches(), (array)$repository->getTags()); + // Otherwise, attempt to detect the ref using a list of the project's branches and tags + $valid_refs = array_merge((array) $repository->getBranches(), (array) $repository->getTags()); foreach ($valid_refs as $k => $v) { if (!preg_match("#{$v}/#", $input)) { unset($valid_refs[$k]); } } - //No exact ref match, so just try our best + // No exact ref match, so just try our best if (count($valid_refs) > 1) { preg_match('/([^\/]+)(.*)/', $input, $matches); $branch = preg_replace('/^\/|\/$/', '', $matches[0]); - } - else { - //extract branch name + } else { + // Extract branch name $branch = array_shift($valid_refs); } } + $tree = trim(str_replace($branch, "", $input), "/"); return array($branch, $tree);