aboutsummaryrefslogtreecommitdiff
path: root/www/fork.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2012-03-26 23:46:54 +0200
committerChristian Weiske <cweiske@cweiske.de>2012-03-26 23:46:54 +0200
commitf7101de3d20753dafe8e02f4e43112e2e208b8d7 (patch)
tree1f6aaca9d77726cbb9e8cf653c1c034beb62fd52 /www/fork.php
parentbfa1501efa1a49893208c794ea262a075b13fc1d (diff)
downloadphorkie-f7101de3d20753dafe8e02f4e43112e2e208b8d7.tar.gz
phorkie-f7101de3d20753dafe8e02f4e43112e2e208b8d7.zip
forking works now
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