From f7101de3d20753dafe8e02f4e43112e2e208b8d7 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Mon, 26 Mar 2012 23:46:54 +0200 Subject: [PATCH] forking works now --- src/Phorkie/Repositories.php | 7 ++++++- www/fork.php | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 www/fork.php diff --git a/src/Phorkie/Repositories.php b/src/Phorkie/Repositories.php index 6582ae8..3afe8c5 100644 --- a/src/Phorkie/Repositories.php +++ b/src/Phorkie/Repositories.php @@ -13,7 +13,12 @@ class Repositories */ public function createNew() { - $n = basename(end(glob($this->reposDir . '/*', GLOB_ONLYDIR))) + 1; + chdir($this->reposDir); + $dirs = glob('*', GLOB_ONLYDIR); + sort($dirs, SORT_NUMERIC); + $n = end($dirs) + 1; + unset($dirs); + $dir = $this->reposDir . '/' . $n . '/'; mkdir($dir, 0777);//FIXME $r = new Repository(); 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 @@ +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 -- 2.30.2