Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.9.3 for the last time
  http.proxy: also mention https_proxy and all_proxy
  t0300: work around bug in dash 0.5.6
  t5512 (ls-remote): modernize style
  tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh
This commit is contained in:
Junio C Hamano 2012-03-04 22:21:52 -08:00
commit 91527e54d5
5 changed files with 44 additions and 31 deletions

View File

@ -11,14 +11,41 @@ Fixes since v1.7.9.2
to link the binary with -lintl even when libintl.h is missing from to link the binary with -lintl even when libintl.h is missing from
the system. the system.
* When the filter driver exits before reading the content before the
main git process writes the contents to be filtered to the pipe to
it, the latter could be killed with SIGPIPE instead of ignoring
such an event as an error.
* "git add --refresh <pathspec>" used to warn about unmerged paths * "git add --refresh <pathspec>" used to warn about unmerged paths
outside the given pathspec. outside the given pathspec.
* The bulk check-in codepath in "git add" streamed contents that
needs smudge/clean filters without running them, instead of punting
and delegating to the codepath to run filters after slurping
everything to core.
* "git branch --with $that" assumed incorrectly that the user will never
ask the question with nonsense value in $that.
* "git bundle create" produced a corrupt bundle file upon seeing
commits with excessively long subject line.
* When a remote helper exits before reading the blank line from the
main git process to signal the end of commands, the latter could be
killed with SIGPIPE. Instead we should ignore such event as a
non-error.
* The commit log template given with "git merge --edit" did not have * The commit log template given with "git merge --edit" did not have
a short instructive text like what "git commit" gives. a short instructive text like what "git commit" gives.
* "git rev-list --verify-objects -q" omitted the extra verification
it needs to do over "git rev-list --objects -q" by mistake.
* "gitweb" used to drop warnings in the log file when "heads" view is * "gitweb" used to drop warnings in the log file when "heads" view is
accessed in a repository whose HEAD does not point at a valid accessed in a repository whose HEAD does not point at a valid
branch. branch.
* An invalid regular expression pattern given by an end user made
"gitweb" to return garbled response.
Also contains minor fixes and documentation updates. Also contains minor fixes and documentation updates.

View File

@ -1275,9 +1275,10 @@ help.autocorrect::
This is the default. This is the default.
http.proxy:: http.proxy::
Override the HTTP proxy, normally configured using the 'http_proxy' Override the HTTP proxy, normally configured using the 'http_proxy',
environment variable (see linkgit:curl[1]). This can be overridden 'https_proxy', and 'all_proxy' environment variables (see
on a per-remote basis; see remote.<name>.proxy `curl(1)`). This can be overridden on a per-remote basis; see
remote.<name>.proxy
http.cookiefile:: http.cookiefile::
File containing previously stored cookie lines which should be used File containing previously stored cookie lines which should be used

View File

@ -8,10 +8,13 @@ test_expect_success 'setup helper scripts' '
cat >dump <<-\EOF && cat >dump <<-\EOF &&
whoami=`echo $0 | sed s/.*git-credential-//` whoami=`echo $0 | sed s/.*git-credential-//`
echo >&2 "$whoami: $*" echo >&2 "$whoami: $*"
while IFS== read key value; do OIFS=$IFS
IFS==
while read key value; do
echo >&2 "$whoami: $key=$value" echo >&2 "$whoami: $key=$value"
eval "$key=$value" eval "$key=$value"
done done
IFS=$OIFS
EOF EOF
write_script git-credential-useless <<-\EOF && write_script git-credential-useless <<-\EOF &&

View File

@ -5,7 +5,6 @@ test_description='git ls-remote'
. ./test-lib.sh . ./test-lib.sh
test_expect_success setup ' test_expect_success setup '
>file && >file &&
git add file && git add file &&
test_tick && test_tick &&
@ -18,45 +17,33 @@ test_expect_success setup '
) >expected.all && ) >expected.all &&
git remote add self "$(pwd)/.git" git remote add self "$(pwd)/.git"
' '
test_expect_success 'ls-remote --tags .git' ' test_expect_success 'ls-remote --tags .git' '
git ls-remote --tags .git >actual && git ls-remote --tags .git >actual &&
test_cmp expected.tag actual test_cmp expected.tag actual
' '
test_expect_success 'ls-remote .git' ' test_expect_success 'ls-remote .git' '
git ls-remote .git >actual && git ls-remote .git >actual &&
test_cmp expected.all actual test_cmp expected.all actual
' '
test_expect_success 'ls-remote --tags self' ' test_expect_success 'ls-remote --tags self' '
git ls-remote --tags self >actual && git ls-remote --tags self >actual &&
test_cmp expected.tag actual test_cmp expected.tag actual
' '
test_expect_success 'ls-remote self' ' test_expect_success 'ls-remote self' '
git ls-remote self >actual && git ls-remote self >actual &&
test_cmp expected.all actual test_cmp expected.all actual
' '
test_expect_success 'dies when no remote specified and no default remotes found' ' test_expect_success 'dies when no remote specified and no default remotes found' '
test_must_fail git ls-remote test_must_fail git ls-remote
' '
test_expect_success 'use "origin" when no remote specified' ' test_expect_success 'use "origin" when no remote specified' '
URL="$(pwd)/.git" && URL="$(pwd)/.git" &&
echo "From $URL" >exp_err && echo "From $URL" >exp_err &&
@ -65,18 +52,14 @@ test_expect_success 'use "origin" when no remote specified' '
test_cmp exp_err actual_err && test_cmp exp_err actual_err &&
test_cmp expected.all actual test_cmp expected.all actual
' '
test_expect_success 'suppress "From <url>" with -q' ' test_expect_success 'suppress "From <url>" with -q' '
git ls-remote -q 2>actual_err && git ls-remote -q 2>actual_err &&
test_must_fail test_cmp exp_err actual_err test_must_fail test_cmp exp_err actual_err
' '
test_expect_success 'use branch.<name>.remote if possible' ' test_expect_success 'use branch.<name>.remote if possible' '
# #
# Test that we are indeed using branch.<name>.remote, not "origin", even # Test that we are indeed using branch.<name>.remote, not "origin", even
# though the "origin" remote has been set. # though the "origin" remote has been set.
@ -99,14 +82,13 @@ test_expect_success 'use branch.<name>.remote if possible' '
git ls-remote 2>actual_err >actual && git ls-remote 2>actual_err >actual &&
test_cmp exp_err actual_err && test_cmp exp_err actual_err &&
test_cmp exp actual test_cmp exp actual
' '
cat >exp <<EOF
fatal: 'refs*master' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
EOF
test_expect_success 'confuses pattern as remote when no remote specified' ' test_expect_success 'confuses pattern as remote when no remote specified' '
cat >exp <<-\EOF &&
fatal: '\''refs*master'\'' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
EOF
# #
# Do not expect "git ls-remote <pattern>" to work; ls-remote, correctly, # Do not expect "git ls-remote <pattern>" to work; ls-remote, correctly,
# confuses <pattern> for <remote>. Although ugly, this behaviour is akin # confuses <pattern> for <remote>. Although ugly, this behaviour is akin
@ -120,7 +102,6 @@ test_expect_success 'confuses pattern as remote when no remote specified' '
# role as a pattern. # role as a pattern.
test_must_fail git ls-remote refs*master >actual 2>&1 && test_must_fail git ls-remote refs*master >actual 2>&1 &&
test_cmp exp actual test_cmp exp actual
' '
test_expect_success 'die with non-2 for wrong repository even with --exit-code' ' test_expect_success 'die with non-2 for wrong repository even with --exit-code' '

View File

@ -42,10 +42,11 @@ TZ=UTC
TERM=dumb TERM=dumb
export LANG LC_ALL PAGER TERM TZ export LANG LC_ALL PAGER TERM TZ
EDITOR=: EDITOR=:
unset VISUAL # A call to "unset" with no arguments causes at least Solaris 10
unset EMAIL # /usr/xpg4/bin/sh and /bin/ksh to bail out. So keep the unsets
unset LANGUAGE # deriving from the command substitution clustered with the other
unset $(perl -e ' # ones.
unset VISUAL EMAIL LANGUAGE $(perl -e '
my @env = keys %ENV; my @env = keys %ENV;
my $ok = join("|", qw( my $ok = join("|", qw(
TRACE TRACE