Do not crash list view when seeing a fully empty git repository
authorChristian Weiske <cweiske@cweiske.de>
Wed, 19 Apr 2017 16:33:22 +0000 (18:33 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Wed, 19 Apr 2017 16:33:22 +0000 (18:33 +0200)
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

src/phorkie/Repositories.php

index 729ff23..ab97c56 100644 (file)
@@ -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);