/**
* 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));
+?>