about summary refs log tree commit diff
path: root/third_party/git/t/check-non-portable-shell.pl
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/check-non-portable-shell.pl
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/check-non-portable-shell.pl')
-rwxr-xr-xthird_party/git/t/check-non-portable-shell.pl55
1 files changed, 0 insertions, 55 deletions
diff --git a/third_party/git/t/check-non-portable-shell.pl b/third_party/git/t/check-non-portable-shell.pl
deleted file mode 100755
index fd3303552b..0000000000
--- a/third_party/git/t/check-non-portable-shell.pl
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/perl
-
-# Test t0000..t9999.sh for non portable shell scripts
-# This script can be called with one or more filenames as parameters
-
-use strict;
-use warnings;
-
-my $exit_code=0;
-my %func;
-
-sub err {
-	my $msg = shift;
-	s/^\s+//;
-	s/\s+$//;
-	s/\s+/ /g;
-	print "$ARGV:$.: error: $msg: $_\n";
-	$exit_code = 1;
-}
-
-# glean names of shell functions
-for my $i (@ARGV) {
-	open(my $f, '<', $i) or die "$0: $i: $!\n";
-	while (<$f>) {
-		$func{$1} = 1 if /^\s*(\w+)\s*\(\)\s*{\s*$/;
-	}
-	close $f;
-}
-
-my $line = '';
-while (<>) {
-	chomp;
-	$line .= $_;
-	# stitch together incomplete lines (those ending with "\")
-	next if $line =~ s/\\$//;
-
-	$_ = $line;
-	/\bcp\s+-a/ and err 'cp -a is not portable';
-	/\bsed\s+-[^efn]\s+/ and err 'sed option not portable (use only -n, -e, -f)';
-	/\becho\s+-[neE]/ and err 'echo with option is not portable (use printf)';
-	/^\s*declare\s+/ and err 'arrays/declare not portable';
-	/^\s*[^#]\s*which\s/ and err 'which is not portable (use type)';
-	/\btest\s+[^=]*==/ and err '"test a == b" is not portable (use =)';
-	/\bwc -l.*"\s*=/ and err '`"$(wc -l)"` is not portable (use test_line_count)';
-	/\bhead\s+-c\b/ and err 'head -c is not portable (use test_copy_bytes BYTES <file >out)';
-	/(?:\$\(seq|^\s*seq\b)/ and err 'seq is not portable (use test_seq)';
-	/\bgrep\b.*--file\b/ and err 'grep --file FILE is not portable (use grep -f FILE)';
-	/\bexport\s+[A-Za-z0-9_]*=/ and err '"export FOO=bar" is not portable (use FOO=bar && export FOO)';
-	/^\s*([A-Z0-9_]+=(\w*|(["']).*?\3)\s+)+(\w+)/ and exists($func{$4}) and
-		err '"FOO=bar shell_func" assignment extends beyond "shell_func"';
-	$line = '';
-	# this resets our $. for each file
-	close ARGV if eof;
-}
-exit $exit_code;