зеркало из https://github.com/microsoft/git.git
Do not rely on the exit status of "unset" for unset variables
POSIX says that exit status "0" means that "unset" successfully unset the variable. However, it is kind of ambiguous if an environment variable which was not set could be successfully unset. At least the default shell on HP-UX insists on reporting an error in such a case, so just ignore the exit status of "unset". [Dscho: extended the patch to git-submodule.sh, as Junio realized that this is the only other place where we check the exit status of "unset".] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
e5d3de5c45
Коммит
5188408057
|
@ -158,7 +158,7 @@ module_add()
|
||||||
die "'$path' already exists in the index"
|
die "'$path' already exists in the index"
|
||||||
|
|
||||||
module_clone "$path" "$realrepo" || exit
|
module_clone "$path" "$realrepo" || exit
|
||||||
(unset GIT_DIR && cd "$path" && git checkout -q ${branch:+-b "$branch" "origin/$branch"}) ||
|
(unset GIT_DIR; cd "$path" && git checkout -q ${branch:+-b "$branch" "origin/$branch"}) ||
|
||||||
die "Unable to checkout submodule '$path'"
|
die "Unable to checkout submodule '$path'"
|
||||||
git add "$path" ||
|
git add "$path" ||
|
||||||
die "Failed to add submodule '$path'"
|
die "Failed to add submodule '$path'"
|
||||||
|
@ -228,14 +228,14 @@ modules_update()
|
||||||
module_clone "$path" "$url" || exit
|
module_clone "$path" "$url" || exit
|
||||||
subsha1=
|
subsha1=
|
||||||
else
|
else
|
||||||
subsha1=$(unset GIT_DIR && cd "$path" &&
|
subsha1=$(unset GIT_DIR; cd "$path" &&
|
||||||
git rev-parse --verify HEAD) ||
|
git rev-parse --verify HEAD) ||
|
||||||
die "Unable to find current revision in submodule path '$path'"
|
die "Unable to find current revision in submodule path '$path'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$subsha1" != "$sha1"
|
if test "$subsha1" != "$sha1"
|
||||||
then
|
then
|
||||||
(unset GIT_DIR && cd "$path" && git-fetch &&
|
(unset GIT_DIR; cd "$path" && git-fetch &&
|
||||||
git-checkout -q "$sha1") ||
|
git-checkout -q "$sha1") ||
|
||||||
die "Unable to checkout '$sha1' in submodule path '$path'"
|
die "Unable to checkout '$sha1' in submodule path '$path'"
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ modules_update()
|
||||||
|
|
||||||
set_name_rev () {
|
set_name_rev () {
|
||||||
revname=$( (
|
revname=$( (
|
||||||
unset GIT_DIR &&
|
unset GIT_DIR
|
||||||
cd "$1" && {
|
cd "$1" && {
|
||||||
git describe "$2" 2>/dev/null ||
|
git describe "$2" 2>/dev/null ||
|
||||||
git describe --tags "$2" 2>/dev/null ||
|
git describe --tags "$2" 2>/dev/null ||
|
||||||
|
@ -285,7 +285,7 @@ modules_list()
|
||||||
else
|
else
|
||||||
if test -z "$cached"
|
if test -z "$cached"
|
||||||
then
|
then
|
||||||
sha1=$(unset GIT_DIR && cd "$path" && git rev-parse --verify HEAD)
|
sha1=$(unset GIT_DIR; cd "$path" && git rev-parse --verify HEAD)
|
||||||
set_name_rev "$path" "$sha1"
|
set_name_rev "$path" "$sha1"
|
||||||
fi
|
fi
|
||||||
say "+$sha1 $path$revname"
|
say "+$sha1 $path$revname"
|
||||||
|
|
|
@ -25,7 +25,7 @@ check_config () {
|
||||||
|
|
||||||
test_expect_success 'plain' '
|
test_expect_success 'plain' '
|
||||||
(
|
(
|
||||||
unset GIT_DIR GIT_WORK_TREE &&
|
unset GIT_DIR GIT_WORK_TREE
|
||||||
mkdir plain &&
|
mkdir plain &&
|
||||||
cd plain &&
|
cd plain &&
|
||||||
git init
|
git init
|
||||||
|
@ -35,7 +35,7 @@ test_expect_success 'plain' '
|
||||||
|
|
||||||
test_expect_success 'plain with GIT_WORK_TREE' '
|
test_expect_success 'plain with GIT_WORK_TREE' '
|
||||||
if (
|
if (
|
||||||
unset GIT_DIR &&
|
unset GIT_DIR
|
||||||
mkdir plain-wt &&
|
mkdir plain-wt &&
|
||||||
cd plain-wt &&
|
cd plain-wt &&
|
||||||
GIT_WORK_TREE=$(pwd) git init
|
GIT_WORK_TREE=$(pwd) git init
|
||||||
|
@ -48,7 +48,7 @@ test_expect_success 'plain with GIT_WORK_TREE' '
|
||||||
|
|
||||||
test_expect_success 'plain bare' '
|
test_expect_success 'plain bare' '
|
||||||
(
|
(
|
||||||
unset GIT_DIR GIT_WORK_TREE GIT_CONFIG &&
|
unset GIT_DIR GIT_WORK_TREE GIT_CONFIG
|
||||||
mkdir plain-bare-1 &&
|
mkdir plain-bare-1 &&
|
||||||
cd plain-bare-1 &&
|
cd plain-bare-1 &&
|
||||||
git --bare init
|
git --bare init
|
||||||
|
@ -58,7 +58,7 @@ test_expect_success 'plain bare' '
|
||||||
|
|
||||||
test_expect_success 'plain bare with GIT_WORK_TREE' '
|
test_expect_success 'plain bare with GIT_WORK_TREE' '
|
||||||
if (
|
if (
|
||||||
unset GIT_DIR GIT_CONFIG &&
|
unset GIT_DIR GIT_CONFIG
|
||||||
mkdir plain-bare-2 &&
|
mkdir plain-bare-2 &&
|
||||||
cd plain-bare-2 &&
|
cd plain-bare-2 &&
|
||||||
GIT_WORK_TREE=$(pwd) git --bare init
|
GIT_WORK_TREE=$(pwd) git --bare init
|
||||||
|
@ -72,7 +72,7 @@ test_expect_success 'plain bare with GIT_WORK_TREE' '
|
||||||
test_expect_success 'GIT_DIR bare' '
|
test_expect_success 'GIT_DIR bare' '
|
||||||
|
|
||||||
(
|
(
|
||||||
unset GIT_CONFIG &&
|
unset GIT_CONFIG
|
||||||
mkdir git-dir-bare.git &&
|
mkdir git-dir-bare.git &&
|
||||||
GIT_DIR=git-dir-bare.git git init
|
GIT_DIR=git-dir-bare.git git init
|
||||||
) &&
|
) &&
|
||||||
|
@ -82,7 +82,7 @@ test_expect_success 'GIT_DIR bare' '
|
||||||
test_expect_success 'GIT_DIR non-bare' '
|
test_expect_success 'GIT_DIR non-bare' '
|
||||||
|
|
||||||
(
|
(
|
||||||
unset GIT_CONFIG &&
|
unset GIT_CONFIG
|
||||||
mkdir non-bare &&
|
mkdir non-bare &&
|
||||||
cd non-bare &&
|
cd non-bare &&
|
||||||
GIT_DIR=.git git init
|
GIT_DIR=.git git init
|
||||||
|
@ -93,7 +93,7 @@ test_expect_success 'GIT_DIR non-bare' '
|
||||||
test_expect_success 'GIT_DIR & GIT_WORK_TREE (1)' '
|
test_expect_success 'GIT_DIR & GIT_WORK_TREE (1)' '
|
||||||
|
|
||||||
(
|
(
|
||||||
unset GIT_CONFIG &&
|
unset GIT_CONFIG
|
||||||
mkdir git-dir-wt-1.git &&
|
mkdir git-dir-wt-1.git &&
|
||||||
GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-1.git git init
|
GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-1.git git init
|
||||||
) &&
|
) &&
|
||||||
|
@ -103,7 +103,7 @@ test_expect_success 'GIT_DIR & GIT_WORK_TREE (1)' '
|
||||||
test_expect_success 'GIT_DIR & GIT_WORK_TREE (2)' '
|
test_expect_success 'GIT_DIR & GIT_WORK_TREE (2)' '
|
||||||
|
|
||||||
if (
|
if (
|
||||||
unset GIT_CONFIG &&
|
unset GIT_CONFIG
|
||||||
mkdir git-dir-wt-2.git &&
|
mkdir git-dir-wt-2.git &&
|
||||||
GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-2.git git --bare init
|
GIT_WORK_TREE=$(pwd) GIT_DIR=git-dir-wt-2.git git --bare init
|
||||||
)
|
)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче