From 66fce1f61e7e088bd92e19ecb0dd94553de6f824 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 16 May 2014 16:47:29 +0200 Subject: git pre-commit hook: block large files Change-Id: Id27cfa805fc7cd0f4f6cc3d8bb770aa7abd536e1 --- .git-hooks/pre-commit | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to '.git-hooks/pre-commit') diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit index fdd07ad94603..693319826b66 100755 --- a/.git-hooks/pre-commit +++ b/.git-hooks/pre-commit @@ -131,6 +131,20 @@ EOM exit( 1 ); } +# Block large files. +open( FILES, "git diff --cached --name-only --diff-filter=A -z $against |" ) || die "Cannot run git diff-index."; +while () +{ + my $size = `git cat-file -s :$_`; + # For now let's say large is 500KB + my $limit = 500; + if ($size > $limit * 1024) + { + print "Error: Attempt to add a large file: $_, pleasy try to fit into $limit KB.\n"; + exit( 1 ); + } +} + # fix whitespace in code check_whitespaces( $against); -- cgit v1.2.3