27 lines
		
	
	
		
			450 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			450 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env perl
 | |
| 
 | |
| use strict;
 | |
| use warnings;
 | |
| 
 | |
| use Cwd qw( abs_path );
 | |
| 
 | |
| symlink_hook('pre-commit');
 | |
| 
 | |
| sub symlink_hook {
 | |
|     my $hook = shift;
 | |
| 
 | |
|     my $dot  = ".git/hooks/$hook";
 | |
|     my $file = "git/hooks/$hook.sh";
 | |
|     my $link = "../../$file";
 | |
| 
 | |
|     if ( -e $dot ) {
 | |
|         if ( -l $dot ) {
 | |
|             return if readlink $dot eq $link;
 | |
|         }
 | |
|         warn "You already have a hook at $dot!\n";
 | |
|         return;
 | |
|     }
 | |
| 
 | |
|     symlink $link, $dot;
 | |
| }
 |