aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2017-04-19 18:33:22 +0200
committerChristian Weiske <cweiske@cweiske.de>2017-04-19 18:33:22 +0200
commitade89bd51686796f30dc26b0f5c65eb9b6f66f21 (patch)
treecbdd90e941891510a3206f387ca6ba0a10b9850d
parent8a4d28fa14e4b0053d5fb9753535124b6bcbfe5e (diff)
downloadphorkie-ade89bd51686796f30dc26b0f5c65eb9b6f66f21.tar.gz
phorkie-ade89bd51686796f30dc26b0f5c65eb9b6f66f21.zip
Do not crash list view when seeing a fully empty git repository
This is not a good way to handle it, but makes phorkie more resilient against invalid data. Resolves: https://github.com/cweiske/phorkie/issues/24
-rw-r--r--src/phorkie/Repositories.php11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/phorkie/Repositories.php b/src/phorkie/Repositories.php
index 729ff23..ab97c56 100644
--- a/src/phorkie/Repositories.php
+++ b/src/phorkie/Repositories.php
@@ -65,7 +65,16 @@ class Repositories
$repos = array();
foreach ($some as $oneDir) {
$r = new Repository();
- $r->loadById(substr($oneDir, 0, -4));
+ try {
+ $r->loadById(substr($oneDir, 0, -4));
+ } catch (\VersionControl_Git_Exception $e) {
+ if (strpos($e->getMessage(), 'does not have any commits') !== false) {
+ //the git repo is broken as the initial commit
+ // has not been finished
+ continue;
+ }
+ throw $e;
+ }
$repos[] = $r;
}
return array($repos, count($dirs), $page);