git-sh-setup: remove "sane_grep", it's not needed anymore
Remove the sane_grep() shell function in git-sh-setup. The two reasons
for why it existed don't apply anymore:
1. It was added due to GNU grep supporting GREP_OPTIONS. See
e1622bfcbad (Protect scripted Porcelains from GREP_OPTIONS insanity,
2009-11-23).
Newer versions of GNU grep ignore that, but even on older versions
its existence won't matter, none of these sane_grep() uses care
about grep's output, they're merely using it to check if a string
exists in a file or stream. We also don't care about the "LC_ALL=C"
that "sane_grep" was using, these greps for fixed or ASCII strings
will behave the same under any locale.
2. The SANE_TEXT_GREP added in 71b401032b9 (sane_grep: pass "-a" if
grep accepts it, 2016-03-08) isn't needed either, none of these grep
uses deal with binary data.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason committedOct 21, 2021 at 21:58 UTCebeb39faad6e3a67c31884c3dc6b76ce58b3f15b
7 files changed+4-22
Makefile
+1-5
index 50eba522f4..01585bfebd 100644--- a/Makefile+++ b/Makefile@@ -305,9 +305,6 @@ all:: # # Define NO_TCLTK if you do not want Tcl/Tk GUI. #-# Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep-# and egrep that are pickier when their input contains non-ASCII data.-# # The TCL_PATH variable governs the location of the Tcl interpreter # used to optimize git-gui for your system. Only used if NO_TCLTK # is not set. Defaults to the bare 'tclsh'.@@ -2254,7 +2251,7 @@ hook-list.h: generate-hooklist.sh Documentation/githooks.txt SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):\ $(localedir_SQ):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\- $(gitwebdir_SQ):$(PERL_PATH_SQ):$(SANE_TEXT_GREP):$(PAGER_ENV):\+ $(gitwebdir_SQ):$(PERL_PATH_SQ):$(PAGER_ENV):\ $(perllibdir_SQ) GIT-SCRIPT-DEFINES: FORCE @FLAGS='$(SCRIPT_DEFINES)'; \@@ -2272,7 +2269,6 @@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e $(BROKEN_PATH_FIX) \ -e 's|@@GITWEBDIR@@|$(gitwebdir_SQ)|g' \ -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \- -e 's|@@SANE_TEXT_GREP@@|$(SANE_TEXT_GREP)|g' \ -e 's|@@PAGER_ENV@@|$(PAGER_ENV_SQ)|g' \ $@.sh >$@+ endef
config.mak.uname
-1
index 3236a4918a..d0701f9beb 100644--- a/config.mak.uname+++ b/config.mak.uname@@ -58,7 +58,6 @@ ifeq ($(uname_S),Linux) # -lrt is needed for clock_gettime on glibc <= 2.16 NEEDS_LIBRT = YesPlease HAVE_GETDELIM = YesPlease- SANE_TEXT_GREP=-a FREAD_READS_DIRECTORIES = UnfortunatelyYes BASIC_CFLAGS += -DHAVE_SYSINFO PROCFS_EXECUTABLE_PATH = /proc/self/exe
configure.ac
-8
index 031e8d3fee..5ee25ec95c 100644--- a/configure.ac+++ b/configure.ac@@ -507,14 +507,6 @@ if test -n "$ASCIIDOC"; then esac fi-if grep -a ascii configure.ac >/dev/null; then- AC_MSG_RESULT([Using 'grep -a' for sane_grep])- SANE_TEXT_GREP=-a-else- SANE_TEXT_GREP=-fi-GIT_CONF_SUBST([SANE_TEXT_GREP])- ## Checks for libraries. AC_MSG_NOTICE([CHECKS for libraries]) #
index cb89372813..3a51d4507c 100755--- a/git-filter-branch.sh+++ b/git-filter-branch.sh@@ -579,7 +579,7 @@ if [ "$filter_tag_name" ]; then git hash-object -t tag -w --stdin) || die "Could not create new tag object for $ref" if git cat-file tag "$ref" | \- sane_grep '^-----BEGIN PGP SIGNATURE-----' >/dev/null 2>&1+ grep '^-----BEGIN PGP SIGNATURE-----' >/dev/null 2>&1 then warn "gpg signature stripped from tag object $sha1t" fi
git-instaweb.sh
+2-2
index 54094fbe8d..4349566c89 100755--- a/git-instaweb.sh+++ b/git-instaweb.sh@@ -49,7 +49,7 @@ resolve_full_httpd () { *apache2*|*lighttpd*|*httpd*) # yes, *httpd* covers *lighttpd* above, but it is there for clarity # ensure that the apache2/lighttpd command ends with "-f"- if ! echo "$httpd" | sane_grep -- '-f *$' >/dev/null 2>&1+ if ! echo "$httpd" | grep -- '-f *$' >/dev/null 2>&1 then httpd="$httpd -f" fi@@ -399,7 +399,7 @@ EOF # plain-old CGI resolve_full_httpd list_mods=$(echo "$full_httpd" | sed 's/-f$/-l/')- $list_mods | sane_grep 'mod_cgi\.c' >/dev/null 2>&1 || \+ $list_mods | grep 'mod_cgi\.c' >/dev/null 2>&1 || \ if test -f "$module_path/mod_cgi.so" then echo "LoadModule cgi_module $module_path/mod_cgi.so" >> "$conf"