RSS Git Download  Clone
Raw View History
Blames found: 3 Mode: php Binary: false


Hang on, we reloading big blames...
<?php declare(strict_types=1); namespace GitList\Repository; use GitList\Repository; class Commitish { protected string $hash; protected ?string $path = null; public function __construct(Repository $repository, string $commitish) { $this->hash = strtok($commitish, '/'); $revs = [...$repository->getBranches(), ...$repository->getTags()]; foreach ($revs as $rev) { if (false === ($pos = strpos($commitish, (string) $rev->getName()))) { continue; } $this->hash = $rev->getName(); $revSuffix = substr($commitish, strlen($this->hash));
if ($revSuffix && ('@' === $revSuffix[0] || '^' === $revSuffix[0] || '~' === $revSuffix[0])) {
$this->hash .= strtok($revSuffix, '/'); } } if ($this->hash != $commitish) { $this->path = substr($commitish, strlen($this->hash) + 1); } } public function getHash(): string { return $this->hash; } public function hasPath(): bool { return (bool) $this->path; } public function getPath(): ?string { return $this->path; } }