зеркало из https://github.com/microsoft/git.git
Merge branch 'rs/work-around-grep-opt-insanity'
* rs/work-around-grep-opt-insanity: Protect scripted Porcelains from GREP_OPTIONS insanity mergetool--lib: simplify guess_merge_tool() Conflicts: git-instaweb.sh
This commit is contained in:
Коммит
ad7ace714d
|
@ -205,7 +205,7 @@ check_patch_format () {
|
|||
# and see if it looks like that they all begin with the
|
||||
# header field names...
|
||||
sed -n -e '/^$/q' -e '/^[ ]/d' -e p "$1" |
|
||||
LC_ALL=C egrep -v '^[!-9;-~]+:' >/dev/null ||
|
||||
sane_egrep -v '^[!-9;-~]+:' >/dev/null ||
|
||||
patch_format=mbox
|
||||
fi
|
||||
} < "$1" || clean_abort
|
||||
|
@ -561,7 +561,7 @@ do
|
|||
stop_here $this
|
||||
|
||||
# skip pine's internal folder data
|
||||
grep '^Author: Mail System Internal Data$' \
|
||||
sane_grep '^Author: Mail System Internal Data$' \
|
||||
<"$dotest"/info >/dev/null &&
|
||||
go_next && continue
|
||||
|
||||
|
|
|
@ -392,7 +392,7 @@ bisect_run () {
|
|||
|
||||
cat "$GIT_DIR/BISECT_RUN"
|
||||
|
||||
if grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \
|
||||
if sane_grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \
|
||||
> /dev/null; then
|
||||
echo >&2 "bisect run cannot continue any more"
|
||||
exit $res
|
||||
|
@ -404,7 +404,7 @@ bisect_run () {
|
|||
exit $res
|
||||
fi
|
||||
|
||||
if grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null; then
|
||||
if sane_grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null; then
|
||||
echo "bisect run success"
|
||||
exit 0;
|
||||
fi
|
||||
|
|
|
@ -473,7 +473,7 @@ if [ "$filter_tag_name" ]; then
|
|||
git mktag) ||
|
||||
die "Could not create new tag object for $ref"
|
||||
if git cat-file tag "$ref" | \
|
||||
grep '^-----BEGIN PGP SIGNATURE-----' >/dev/null 2>&1
|
||||
sane_grep '^-----BEGIN PGP SIGNATURE-----' >/dev/null 2>&1
|
||||
then
|
||||
warn "gpg signature stripped from tag object $sha1t"
|
||||
fi
|
||||
|
|
|
@ -41,7 +41,7 @@ resolve_full_httpd () {
|
|||
case "$httpd" in
|
||||
*apache2*|*lighttpd*)
|
||||
# ensure that the apache2/lighttpd command ends with "-f"
|
||||
if ! echo "$httpd" | grep -- '-f *$' >/dev/null 2>&1
|
||||
if ! echo "$httpd" | sane_grep -- '-f *$' >/dev/null 2>&1
|
||||
then
|
||||
httpd="$httpd -f"
|
||||
fi
|
||||
|
@ -302,8 +302,8 @@ EOF
|
|||
|
||||
# check to see if Dennis Stosberg's mod_perl compatibility patch
|
||||
# (<20060621130708.Gcbc6e5c@leonov.stosberg.net>) has been applied
|
||||
if test -f "$module_path/mod_perl.so" && grep 'MOD_PERL' \
|
||||
"$GIT_DIR/gitweb/gitweb.cgi" >/dev/null
|
||||
if test -f "$module_path/mod_perl.so" &&
|
||||
sane_grep 'MOD_PERL' "$GIT_DIR/gitweb/gitweb.cgi" >/dev/null
|
||||
then
|
||||
# favor mod_perl if available
|
||||
cat >> "$conf" <<EOF
|
||||
|
@ -321,7 +321,7 @@ EOF
|
|||
# plain-old CGI
|
||||
resolve_full_httpd
|
||||
list_mods=$(echo "$full_httpd" | sed "s/-f$/-l/")
|
||||
$list_mods | grep 'mod_cgi\.c' >/dev/null 2>&1 || \
|
||||
$list_mods | sane_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"
|
||||
|
|
|
@ -338,15 +338,14 @@ guess_merge_tool () {
|
|||
fi
|
||||
tools="$tools gvimdiff diffuse ecmerge p4merge araxis"
|
||||
fi
|
||||
if echo "${VISUAL:-$EDITOR}" | grep emacs > /dev/null 2>&1; then
|
||||
# $EDITOR is emacs so add emerge as a candidate
|
||||
tools="$tools emerge vimdiff"
|
||||
elif echo "${VISUAL:-$EDITOR}" | grep vim > /dev/null 2>&1; then
|
||||
# $EDITOR is vim so add vimdiff as a candidate
|
||||
case "${VISUAL:-$EDITOR}" in
|
||||
*vim*)
|
||||
tools="$tools vimdiff emerge"
|
||||
else
|
||||
;;
|
||||
*)
|
||||
tools="$tools emerge vimdiff"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
echo >&2 "merge tool candidates: $tools"
|
||||
|
||||
# Loop over each candidate and stop when a valid merge tool is found.
|
||||
|
|
|
@ -106,8 +106,8 @@ mark_action_done () {
|
|||
sed -e 1q < "$TODO" >> "$DONE"
|
||||
sed -e 1d < "$TODO" >> "$TODO".new
|
||||
mv -f "$TODO".new "$TODO"
|
||||
count=$(grep -c '^[^#]' < "$DONE")
|
||||
total=$(($count+$(grep -c '^[^#]' < "$TODO")))
|
||||
count=$(sane_grep -c '^[^#]' < "$DONE")
|
||||
total=$(($count+$(sane_grep -c '^[^#]' < "$TODO")))
|
||||
if test "$last_count" != "$count"
|
||||
then
|
||||
last_count=$count
|
||||
|
@ -147,7 +147,7 @@ die_abort () {
|
|||
}
|
||||
|
||||
has_action () {
|
||||
grep '^[^#]' "$1" >/dev/null
|
||||
sane_grep '^[^#]' "$1" >/dev/null
|
||||
}
|
||||
|
||||
pick_one () {
|
||||
|
@ -744,7 +744,7 @@ first and then run 'git rebase --continue' again."
|
|||
git rev-list $REVISIONS |
|
||||
while read rev
|
||||
do
|
||||
if test -f "$REWRITTEN"/$rev -a "$(grep "$rev" "$DOTEST"/not-cherry-picks)" = ""
|
||||
if test -f "$REWRITTEN"/$rev -a "$(sane_grep "$rev" "$DOTEST"/not-cherry-picks)" = ""
|
||||
then
|
||||
# Use -f2 because if rev-list is telling us this commit is
|
||||
# not worthwhile, we don't want to track its multiple heads,
|
||||
|
@ -752,7 +752,7 @@ first and then run 'git rebase --continue' again."
|
|||
# be rebasing on top of it
|
||||
git rev-list --parents -1 $rev | cut -d' ' -s -f2 > "$DROPPED"/$rev
|
||||
short=$(git rev-list -1 --abbrev-commit --abbrev=7 $rev)
|
||||
grep -v "^[a-z][a-z]* $short" <"$TODO" > "${TODO}2" ; mv "${TODO}2" "$TODO"
|
||||
sane_grep -v "^[a-z][a-z]* $short" <"$TODO" > "${TODO}2" ; mv "${TODO}2" "$TODO"
|
||||
rm "$REWRITTEN"/$rev
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -467,7 +467,7 @@ orig_head=$branch
|
|||
mb=$(git merge-base "$onto" "$branch")
|
||||
if test "$upstream" = "$onto" && test "$mb" = "$onto" &&
|
||||
# linear history?
|
||||
! (git rev-list --parents "$onto".."$branch" | grep " .* ") > /dev/null
|
||||
! (git rev-list --parents "$onto".."$branch" | sane_grep " .* ") > /dev/null
|
||||
then
|
||||
if test -z "$force_rebase"
|
||||
then
|
||||
|
|
|
@ -107,6 +107,14 @@ git_editor() {
|
|||
eval "$GIT_EDITOR" '"$@"'
|
||||
}
|
||||
|
||||
sane_grep () {
|
||||
GREP_OPTIONS= LC_ALL=C grep "$@"
|
||||
}
|
||||
|
||||
sane_egrep () {
|
||||
GREP_OPTIONS= LC_ALL=C egrep "$@"
|
||||
}
|
||||
|
||||
is_bare_repository () {
|
||||
git rev-parse --is-bare-repository
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ resolve_relative_url ()
|
|||
#
|
||||
module_list()
|
||||
{
|
||||
git ls-files --error-unmatch --stage -- "$@" | grep '^160000 '
|
||||
git ls-files --error-unmatch --stage -- "$@" | sane_grep '^160000 '
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -572,7 +572,7 @@ cmd_summary() {
|
|||
cd_to_toplevel
|
||||
# Get modified modules cared by user
|
||||
modules=$(git $diff_cmd $cached --raw $head -- "$@" |
|
||||
egrep '^:([0-7]* )?160000' |
|
||||
sane_egrep '^:([0-7]* )?160000' |
|
||||
while read mod_src mod_dst sha1_src sha1_dst status name
|
||||
do
|
||||
# Always show modules deleted or type-changed (blob<->module)
|
||||
|
@ -586,7 +586,7 @@ cmd_summary() {
|
|||
test -z "$modules" && return
|
||||
|
||||
git $diff_cmd $cached --raw $head -- $modules |
|
||||
egrep '^:([0-7]* )?160000' |
|
||||
sane_egrep '^:([0-7]* )?160000' |
|
||||
cut -c2- |
|
||||
while read mod_src mod_dst sha1_src sha1_dst status name
|
||||
do
|
||||
|
|
Загрузка…
Ссылка в новой задаче