Catch remote forking errors and display them
[phorkie.git] / www / fork-remote.php
index 374c8b89ab8e4105009e97dffae577b54c0515db..4d9ca34f370a5167706bee930535ab792ffc894d 100644 (file)
@@ -12,11 +12,18 @@ if (isset($_POST['remote_url'])) {
     $fr = new ForkRemote($_POST['remote_url']);
     if (false === $fr->parse()) {
         //no url found
-        $error = 'No git:// clone URL found';
+        $error = $fr->error;
     } else if (false !== ($gitUrl = $fr->getUniqueGitUrl())) {
+        if (isset($_POST['orig_url'])) {
+            $fr->setUrl($_POST['orig_url']);
+        }
         $forker = new Forker();
-        $new    = $forker->forkRemote($gitUrl);
-        redirect($new->getLink('display'));
+        try {
+            $new = $forker->forkRemote($gitUrl, $fr->getUrl());
+            redirect($new->getLink('display', null, true));
+        } catch (\Exception $e) {
+            $error = $e->getMessage();
+        }
     } else {
         //multiple urls found
         $urls = $fr->getGitUrls();