From 8d29b8e073c9a3795ad7ededf4cb5e8683102162 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Mon, 1 Oct 2012 22:40:24 +0200 Subject: [PATCH] Fix bug #31: forked pastes cannot be remote forked --- ChangeLog | 1 + src/phorkie/Forker.php | 5 ++--- src/phorkie/Repository/Post.php | 7 ++----- src/phorkie/Repository/Setup.php | 31 +++++++++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 src/phorkie/Repository/Setup.php diff --git a/ChangeLog b/ChangeLog index fc17753..94057fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2012-10-01 Christian Weiske * Fix bug #27: render .json files + * Fix bug #31: forked pastes cannot be remote forked 2012-09-28 Christian Weiske diff --git a/src/phorkie/Forker.php b/src/phorkie/Forker.php index 7473f16..157cb5e 100644 --- a/src/phorkie/Forker.php +++ b/src/phorkie/Forker.php @@ -48,9 +48,8 @@ class Forker throw $e; } - foreach (\glob($new->gitDir . '/hooks/*') as $hookfile) { - \unlink($hookfile); - } + $rs = new Repository_Setup($new); + $rs->afterInit(); return $new; } diff --git a/src/phorkie/Repository/Post.php b/src/phorkie/Repository/Post.php index 1a30b47..fe6858b 100644 --- a/src/phorkie/Repository/Post.php +++ b/src/phorkie/Repository/Post.php @@ -190,11 +190,8 @@ class Repository_Post ->addArgument($repo->workDir) ->execute(); - foreach (glob($repo->gitDir . '/hooks/*') as $hookfile) { - unlink($hookfile); - } - - touch($repo->gitDir . '/git-daemon-export-ok'); + $rs = new Repository_Setup($repo); + $rs->afterInit(); return $repo; } diff --git a/src/phorkie/Repository/Setup.php b/src/phorkie/Repository/Setup.php new file mode 100644 index 0000000..e26338b --- /dev/null +++ b/src/phorkie/Repository/Setup.php @@ -0,0 +1,31 @@ +repo = $repo; + } + + /** + * Should be called right after a repository has been created, + * either by "git init" or "git clone". + * Takes care of removing hook example files and creating + * the git daemon export file + * + * @return void + */ + public function afterInit() + { + foreach (glob($this->repo->gitDir . '/hooks/*') as $hookfile) { + unlink($hookfile); + } + touch($this->repo->gitDir . '/git-daemon-export-ok'); + } + +} + +?> -- 2.30.2