X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/f7101de3d20753dafe8e02f4e43112e2e208b8d7..59c71c3a808b2c6a1e77a500717a264cb3c32051:/www/fork.php?ds=sidebyside diff --git a/www/fork.php b/www/fork.php index 5004945..cddf2bb 100644 --- a/www/fork.php +++ b/www/fork.php @@ -2,18 +2,20 @@ /** * Fork a repository */ -namespace Phorkie; +namespace phorkie; +$reqWritePermissions = true; require_once 'www-header.php'; + +if ($_SERVER['REQUEST_METHOD'] !== 'POST') { + throw new Exception_Input('Forking only possible via POST'); +} + $repo = new Repository(); $repo->loadFromRequest(); -$rs = new Repositories(); -$new = $rs->createNew(); -$new->getVc()->getCommand('clone') - ->addArgument($repo->repoDir) - ->addArgument($new->repoDir) - ->execute(); -\copy($repo->repoDir . '/.git/description', $new->repoDir . '/.git/description'); -//FIXME: where to put fork source link? -redirect($new->getLink('display')); -?> \ No newline at end of file +$forker = new Forker(); +$new = $forker->forkLocal($repo); + +FlashMessage::save('Paste has been forked'); +redirect($new->getLink('display', null, true)); +?>