aboutsummaryrefslogtreecommitdiff
path: root/www/fork.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/fork.php')
-rw-r--r--www/fork.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/www/fork.php b/www/fork.php
new file mode 100644
index 0000000..5004945
--- /dev/null
+++ b/www/fork.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Fork a repository
+ */
+namespace Phorkie;
+require_once 'www-header.php';
+$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