aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-07-07 08:31:51 +0200
committerChristian Weiske <cweiske@cweiske.de>2014-07-07 08:31:51 +0200
commit5e590903694ccec284fa5ea957f957c2209bbb2a (patch)
tree83b0f396b4e21f0a11b6922ce4f90c6b334fef5d /src
parentb24fac91c5745ab9224f4727800367a4bdbc8af5 (diff)
downloadphorkie-5e590903694ccec284fa5ea957f957c2209bbb2a.tar.gz
phorkie-5e590903694ccec284fa5ea957f957c2209bbb2a.zip
update-server-info on git pushes and forks
Diffstat (limited to 'src')
-rw-r--r--src/phorkie/Forker.php4
-rw-r--r--src/phorkie/Repository/Post.php1
-rw-r--r--src/phorkie/Repository/Setup.php13
3 files changed, 18 insertions, 0 deletions
diff --git a/src/phorkie/Forker.php b/src/phorkie/Forker.php
index b4ab449..da545a7 100644
--- a/src/phorkie/Forker.php
+++ b/src/phorkie/Forker.php
@@ -81,6 +81,10 @@ class Forker
$rs = new Repository_Setup($new);
$rs->afterInit();
+ //update info for dumb git HTTP transport
+ //the post-update hook should do that IMO, but does not somehow
+ $vc->getCommand('update-server-info')->execute();
+
return $new;
}
diff --git a/src/phorkie/Repository/Post.php b/src/phorkie/Repository/Post.php
index cf07b73..5a450b1 100644
--- a/src/phorkie/Repository/Post.php
+++ b/src/phorkie/Repository/Post.php
@@ -152,6 +152,7 @@ class Repository_Post
->setOption('message', "$notes")
->execute();
//update info for dumb git HTTP transport
+ //the post-update hook should do that IMO, but does not somehow
$vc->getCommand('update-server-info')->execute();
$bChanged = true;
diff --git a/src/phorkie/Repository/Setup.php b/src/phorkie/Repository/Setup.php
index f5c9730..cc2fb28 100644
--- a/src/phorkie/Repository/Setup.php
+++ b/src/phorkie/Repository/Setup.php
@@ -27,6 +27,19 @@ class Repository_Setup
$vc = $this->repo->getVc();
+ file_put_contents(
+ $this->repo->gitDir . '/hooks/post-update',
+ <<<CDE
+#!/bin/sh
+# Hook script to prepare a packed repository for use over dumb transports.
+
+echo foo > /tmp/foo
+exec git update-server-info
+
+CDE
+ );
+ chmod($this->repo->gitDir . '/hooks/post-update', 0755);
+
//keep track of owner
$vc->getCommand('config')
->addArgument('owner.name')