Added post commit hooks
[p5sagit/Oyster.git] / lib / Oyster / Deploy / Git.pm
CommitLineData
40056462 1package Oyster::Deploy::Git;
2
3use Moose;
4use Git::Wrapper;
5use Error::Simple;
6
7use Data::Dumper;
47863b26 8use File::Copy;
9use File::ShareDir ':ALL';
40056462 10
11sub create {
12 my $self = shift;
13 my $location = shift;
14
15 if( -f $location || -d $location ) {
16 Error::Simple->throw("$location already exists");
17 }
18
19 mkdir($location);
20 my $git = Git::Wrapper->new($location);
21
47863b26 22
23 copy(dist_file( 'Oyster', './bin/git/post-receive'), ($git->dir . '.git/hooks/'))
24 or Error::Simple->throw('Creating post commit hooks failed.');
25 copy(dist_file( 'Oyster', './bin/git/post-update'), ($git->dir . '.git/hooks/'))
26 or Error::Simple->throw('Creating post commit hooks failed.');
27
28 chmod(0x755, ('./bin/git/hooks/post-receive', './bin/git/hooks/post-update'));
29
40056462 30 return 1;
31}
32
33
47863b26 341;