6 public function forkLocal($repo)
8 $new = $this->fork($repo->gitDir);
9 \copy($repo->gitDir . '/description', $new->gitDir . '/description');
14 public function forkRemote($cloneUrl, $originalUrl)
16 $new = $this->fork($cloneUrl);
18 $new->gitDir . '/description',
19 'Fork of ' . $originalUrl
26 protected function fork($pathOrUrl)
28 $rs = new Repositories();
29 $new = $rs->createNew();
32 //VersionControl_Git wants an existing dir, git clone not
35 $vc->getCommand('clone')
36 //this should be setOption, but it fails with a = between name and value
37 ->addArgument('--separate-git-dir')
39 $GLOBALS['phorkie']['cfg']['gitdir'] . '/' . $new->id . '.git'
41 ->addArgument($pathOrUrl)
42 ->addArgument($new->workDir)
44 foreach (\glob($new->gitDir . '/hooks/*') as $hookfile) {
51 protected function index($repo)
54 $db->getIndexer()->addRepo($repo);