From 51e3f1c7fba071a7a02b2a581c669796a0534ea8 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Fri, 6 Oct 2017 09:39:45 +0200 Subject: [PATCH] #1 Improve preparation and tracking or origin --- src/Handler.php | 7 +++++-- src/Plugin.php | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Handler.php b/src/Handler.php index 7403371..9fecb7c 100644 --- a/src/Handler.php +++ b/src/Handler.php @@ -100,9 +100,11 @@ class Handler { foreach ($repository->getRemotes() as $remote) { if ($remote->getName() == 'origin') { if ($remote->getFetchURL() != $uri) { - $remote->setFetchURL($uri); + $repository->getCaller()->execute('remote remove origin'); + } + else { + $originExists = TRUE; } - $originExists = TRUE; break; } } @@ -113,6 +115,7 @@ class Handler { $fs->mkdir($path); $repository->init(); $repository->addRemote('origin', $uri); + $repository->getCaller()->execute('branch --set-upstream-to origin/' . $version . ' ' . $version); } $repository->fetch(); diff --git a/src/Plugin.php b/src/Plugin.php index e1745fd..cb64a27 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -44,4 +44,14 @@ class Plugin implements PluginInterface, EventSubscriberInterface { $this->handler->prepareDevProjects($event); } + /** + * Script callback for putting in composer scripts to prepare the project. + * + * @param \Composer\Script\Event $event + */ + public static function prepare($event) { + $handler = new Handler($event->getComposer(), $event->getIO()); + $handler->prepareDevProjects($event); + } + } -- GitLab