diff-parseopt: restore -U (no argument) behavior
[gitweb.git] / t / check-non-portable-shell.pl
index d5823f71d8d57ec92404d5cceabd86d5ab86af53..8037eef7777b4f65af44b3c8cc3e4b46d48259ae 100755 (executable)
@@ -35,12 +35,16 @@ sub err {
                chomp;
        }
 
+       /\bcp\s+-a/ and err 'cp -a is not portable';
        /\bsed\s+-i/ and err 'sed -i is not portable';
        /\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"';