diff --git a/src/applications/diffusion/query/taglist/DiffusionGitTagListQuery.php b/src/applications/diffusion/query/taglist/DiffusionGitTagListQuery.php index bcf4def07d..50f1f8e65b 100644 --- a/src/applications/diffusion/query/taglist/DiffusionGitTagListQuery.php +++ b/src/applications/diffusion/query/taglist/DiffusionGitTagListQuery.php @@ -49,13 +49,14 @@ final class DiffusionGitTagListQuery extends DiffusionTagListQuery { $matches = null; if (!preg_match('/^(.*) ([0-9]+) ([0-9+-]+)$/', $creator, $matches)) { - throw new Exception( - "Unparseable output from 'git for-each-ref': {$line}"); + // It's possible a tag doesn't have a creator (tagger) + $author = null; + $epoch = null; + } else { + $author = $matches[1]; + $epoch = $matches[2]; } - $author = $matches[1]; - $epoch = $matches[2]; - $tag = new DiffusionRepositoryTag(); $tag->setAuthor($author); $tag->setEpoch($epoch);