aboutsummaryrefslogtreecommitdiff
path: root/src/phorkie/Repositories.php
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2012-04-11 20:22:33 +0200
committerChristian Weiske <cweiske@cweiske.de>2012-04-11 20:22:33 +0200
commit1c14a6bfb93c914374a6b2f96aec971f8c5b3053 (patch)
treefbc8ed02a6ad900b96dfe5259edba0bcdd0a9a66 /src/phorkie/Repositories.php
parentbf139cf4f0d6fb868d0f998d3213f7e681fbff92 (diff)
downloadphorkie-1c14a6bfb93c914374a6b2f96aec971f8c5b3053.tar.gz
phorkie-1c14a6bfb93c914374a6b2f96aec971f8c5b3053.zip
separate git and work directories - gives nicer public git clone urls
Diffstat (limited to 'src/phorkie/Repositories.php')
-rw-r--r--src/phorkie/Repositories.php23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/phorkie/Repositories.php b/src/phorkie/Repositories.php
index ef59dd7..dc3387b 100644
--- a/src/phorkie/Repositories.php
+++ b/src/phorkie/Repositories.php
@@ -5,7 +5,8 @@ class Repositories
{
public function __construct()
{
- $this->reposDir = $GLOBALS['phorkie']['cfg']['repos'];
+ $this->workDir = $GLOBALS['phorkie']['cfg']['workdir'];
+ $this->gitDir = $GLOBALS['phorkie']['cfg']['gitdir'];
}
/**
@@ -13,17 +14,21 @@ class Repositories
*/
public function createNew()
{
- chdir($this->reposDir);
- $dirs = glob('*', GLOB_ONLYDIR);
+ chdir($this->gitDir);
+ $dirs = glob('*.git', GLOB_ONLYDIR);
+ array_walk($dirs, function ($dir) { return substr($dir, 0, -4); });
sort($dirs, SORT_NUMERIC);
$n = end($dirs) + 1;
- unset($dirs);
- $dir = $this->reposDir . '/' . $n . '/';
+ chdir($this->workDir);
+ $dir = $this->workDir . '/' . $n . '/';
mkdir($dir, 0777);//FIXME
$r = new Repository();
$r->id = $n;
- $r->repoDir = $dir;
+ $r->workDir = $dir;
+ $r->gitDir = $this->gitDir . '/' . $n . '.git/';
+ mkdir($r->gitDir, 0777);//FIXME
+
return $r;
}
@@ -37,15 +42,15 @@ class Repositories
*/
public function getList($page = 0, $perPage = 10)
{
- chdir($this->reposDir);
- $dirs = glob('*', GLOB_ONLYDIR);
+ chdir($this->gitDir);
+ $dirs = glob('*.git', GLOB_ONLYDIR);
sort($dirs, SORT_NUMERIC);
$some = array_slice($dirs, $page * $perPage, $perPage);
$repos = array();
foreach ($some as $oneDir) {
$r = new Repository();
- $r->loadById($oneDir);
+ $r->loadById(substr($oneDir, 0, -4));
$repos[] = $r;
}
return $repos;