Added post commit hooks
Graeme Lawton [Sat, 20 Nov 2010 17:27:01 +0000 (17:27 +0000)]
lib/Oyster/Deploy/Git.pm
t/Deploy/git.t

index 37ff0a8..8298724 100644 (file)
@@ -5,6 +5,8 @@ use Git::Wrapper;
 use Error::Simple;
 
 use Data::Dumper;
+use File::Copy;
+use File::ShareDir ':ALL';
 
 sub create {
   my $self = shift;
@@ -17,8 +19,16 @@ sub create {
   mkdir($location);
   my $git = Git::Wrapper->new($location);
   
+  
+  copy(dist_file( 'Oyster', './bin/git/post-receive'), ($git->dir . '.git/hooks/')) 
+    or Error::Simple->throw('Creating post commit hooks failed.');
+  copy(dist_file( 'Oyster', './bin/git/post-update'), ($git->dir . '.git/hooks/')) 
+    or Error::Simple->throw('Creating post commit hooks failed.');
+  
+  chmod(0x755, ('./bin/git/hooks/post-receive', './bin/git/hooks/post-update'));
+  
   return 1;
 }
 
 
-1;
\ No newline at end of file
+1;
index 5ba2614..205665c 100644 (file)
@@ -20,3 +20,5 @@ is($deploy->create("${tmpdir}/testapp"), 1, 'Create returned okay');
 ok((-d "${tmpdir}/testapp"), "App directory created");
 
 throws_ok(sub {$deploy->create("${tmpdir}/testapp")}, 'Error::Simple', "Directory already exists");
+ok((-f "${tmpdir}/testapp/.git/hooks/post-receive"), "Post reveive hook exists");
+ok((-f "${tmpdir}/testapp/.git/hooks/post-update"), "Post update hook exists");
\ No newline at end of file