diff --git a/src/Gitonomy/Git/ReferenceBag.php b/src/Gitonomy/Git/ReferenceBag.php index 178fd9f..57aec25 100644 --- a/src/Gitonomy/Git/ReferenceBag.php +++ b/src/Gitonomy/Git/ReferenceBag.php @@ -366,12 +366,6 @@ protected function initialize() } elseif ($fullname === 'refs/stash') { $reference = new Stash($this->repository, $fullname, $commitHash); $this->references[$fullname] = $reference; - } elseif (preg_match('#^refs/pull/(.*)$#', $fullname)) { - // Do nothing here - } elseif ($fullname === 'refs/notes/gtm-data') { - // Do nothing here - } else { - throw new RuntimeException(sprintf('Unable to parse "%s"', $fullname)); } } } diff --git a/tests/Gitonomy/Git/Tests/ReferenceBagTest.php b/tests/Gitonomy/Git/Tests/ReferenceBagTest.php new file mode 100644 index 0000000..35756bf --- /dev/null +++ b/tests/Gitonomy/Git/Tests/ReferenceBagTest.php @@ -0,0 +1,47 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Repository; + +class ReferenceBagTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testUnknownReference(Repository $repository) + { + $hash = $repository->getLog()->getSingleCommit()->getHash(); + + $repository->run('update-ref', ['refs/pipelines/1', $hash]); + $repository->run('update-ref', ['refs/merge-request/1/head', $hash]); + $repository->run('update-ref', ['refs/pull/1/head', $hash]); + $repository->run('update-ref', ['refs/notes/gtm-data', $hash]); + + $refs = $repository->getReferences()->getAll(); + if (method_exists($this, 'assertIsArray')) { + $this->assertIsArray($refs); + } else { + $this->assertInternalType('array', $refs); + } + + // Check that at least it has the master ref + $this->assertArrayHasKey('refs/heads/master', $refs); + + // Check that our custom refs have been ignored + $this->assertArrayNotHasKey('refs/pipelines/1', $refs); + $this->assertArrayNotHasKey('refs/merge-request/1/head', $refs); + $this->assertArrayNotHasKey('refs/pull/1/head', $refs); + $this->assertArrayNotHasKey('refs/notes/gtm-data', $refs); + } +}