mirror of
https://github.com/git/git
synced 2024-08-26 19:19:18 +00:00
submodule: prefix die messages with 'fatal'
The standard `die()` function that is used in C code prefixes all the messages passed to it with 'fatal: '. This does not happen with the `die` used in 'git-submodule.sh'. Let's prefix each of the shell die messages with 'fatal: ' so that when they are converted to C code, the error messages stay the same as before the conversion. Note that the shell version of `die` exits with error code 1, while the C version exits with error code 128. In practice, this does not change any behaviour, as no functionality in 'submodule add' and 'submodule update' relies on the value of the exit code. Signed-off-by: Atharva Raykar <raykar.ath@gmail.com> Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored-by: Shourya Shukla <periperidip@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
84069fcc14
commit
0008d12284
|
@ -147,7 +147,7 @@ cmd_add()
|
||||||
|
|
||||||
if ! git submodule--helper config --check-writeable >/dev/null 2>&1
|
if ! git submodule--helper config --check-writeable >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
die "$(eval_gettext "please make sure that the .gitmodules file is in the working tree")"
|
die "fatal: $(eval_gettext "please make sure that the .gitmodules file is in the working tree")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$reference_path"
|
if test -n "$reference_path"
|
||||||
|
@ -176,7 +176,7 @@ cmd_add()
|
||||||
case "$repo" in
|
case "$repo" in
|
||||||
./*|../*)
|
./*|../*)
|
||||||
test -z "$wt_prefix" ||
|
test -z "$wt_prefix" ||
|
||||||
die "$(gettext "Relative path can only be used from the toplevel of the working tree")"
|
die "fatal: $(gettext "Relative path can only be used from the toplevel of the working tree")"
|
||||||
|
|
||||||
# dereference source url relative to parent's url
|
# dereference source url relative to parent's url
|
||||||
realrepo=$(git submodule--helper resolve-relative-url "$repo") || exit
|
realrepo=$(git submodule--helper resolve-relative-url "$repo") || exit
|
||||||
|
@ -186,7 +186,7 @@ cmd_add()
|
||||||
realrepo=$repo
|
realrepo=$repo
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
die "$(eval_gettext "repo URL: '\$repo' must be absolute or begin with ./|../")"
|
die "fatal: $(eval_gettext "repo URL: '\$repo' must be absolute or begin with ./|../")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -205,17 +205,17 @@ cmd_add()
|
||||||
if test -z "$force"
|
if test -z "$force"
|
||||||
then
|
then
|
||||||
git ls-files --error-unmatch "$sm_path" > /dev/null 2>&1 &&
|
git ls-files --error-unmatch "$sm_path" > /dev/null 2>&1 &&
|
||||||
die "$(eval_gettext "'\$sm_path' already exists in the index")"
|
die "fatal: $(eval_gettext "'\$sm_path' already exists in the index")"
|
||||||
else
|
else
|
||||||
git ls-files -s "$sm_path" | sane_grep -v "^160000" > /dev/null 2>&1 &&
|
git ls-files -s "$sm_path" | sane_grep -v "^160000" > /dev/null 2>&1 &&
|
||||||
die "$(eval_gettext "'\$sm_path' already exists in the index and is not a submodule")"
|
die "fatal: $(eval_gettext "'\$sm_path' already exists in the index and is not a submodule")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -d "$sm_path" &&
|
if test -d "$sm_path" &&
|
||||||
test -z $(git -C "$sm_path" rev-parse --show-cdup 2>/dev/null)
|
test -z $(git -C "$sm_path" rev-parse --show-cdup 2>/dev/null)
|
||||||
then
|
then
|
||||||
git -C "$sm_path" rev-parse --verify -q HEAD >/dev/null ||
|
git -C "$sm_path" rev-parse --verify -q HEAD >/dev/null ||
|
||||||
die "$(eval_gettext "'\$sm_path' does not have a commit checked out")"
|
die "fatal: $(eval_gettext "'\$sm_path' does not have a commit checked out")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$force"
|
if test -z "$force"
|
||||||
|
@ -238,7 +238,7 @@ cmd_add()
|
||||||
|
|
||||||
if ! git submodule--helper check-name "$sm_name"
|
if ! git submodule--helper check-name "$sm_name"
|
||||||
then
|
then
|
||||||
die "$(eval_gettext "'$sm_name' is not a valid submodule name")"
|
die "fatal: $(eval_gettext "'$sm_name' is not a valid submodule name")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# perhaps the path exists and is already a git repo, else clone it
|
# perhaps the path exists and is already a git repo, else clone it
|
||||||
|
@ -281,7 +281,7 @@ or you are unsure what this means choose another name with the '--name' option."
|
||||||
git config submodule."$sm_name".url "$realrepo"
|
git config submodule."$sm_name".url "$realrepo"
|
||||||
|
|
||||||
git add --no-warn-embedded-repo $force "$sm_path" ||
|
git add --no-warn-embedded-repo $force "$sm_path" ||
|
||||||
die "$(eval_gettext "Failed to add submodule '\$sm_path'")"
|
die "fatal: $(eval_gettext "Failed to add submodule '\$sm_path'")"
|
||||||
|
|
||||||
git submodule--helper config submodule."$sm_name".path "$sm_path" &&
|
git submodule--helper config submodule."$sm_name".path "$sm_path" &&
|
||||||
git submodule--helper config submodule."$sm_name".url "$repo" &&
|
git submodule--helper config submodule."$sm_name".url "$repo" &&
|
||||||
|
@ -290,7 +290,7 @@ or you are unsure what this means choose another name with the '--name' option."
|
||||||
git submodule--helper config submodule."$sm_name".branch "$branch"
|
git submodule--helper config submodule."$sm_name".branch "$branch"
|
||||||
fi &&
|
fi &&
|
||||||
git add --force .gitmodules ||
|
git add --force .gitmodules ||
|
||||||
die "$(eval_gettext "Failed to register submodule '\$sm_path'")"
|
die "fatal: $(eval_gettext "Failed to register submodule '\$sm_path'")"
|
||||||
|
|
||||||
# NEEDSWORK: In a multi-working-tree world, this needs to be
|
# NEEDSWORK: In a multi-working-tree world, this needs to be
|
||||||
# set in the per-worktree config.
|
# set in the per-worktree config.
|
||||||
|
@ -565,7 +565,7 @@ cmd_update()
|
||||||
else
|
else
|
||||||
subsha1=$(sanitize_submodule_env; cd "$sm_path" &&
|
subsha1=$(sanitize_submodule_env; cd "$sm_path" &&
|
||||||
git rev-parse --verify HEAD) ||
|
git rev-parse --verify HEAD) ||
|
||||||
die "$(eval_gettext "Unable to find current revision in submodule path '\$displaypath'")"
|
die "fatal: $(eval_gettext "Unable to find current revision in submodule path '\$displaypath'")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$remote"
|
if test -n "$remote"
|
||||||
|
@ -575,12 +575,12 @@ cmd_update()
|
||||||
then
|
then
|
||||||
# Fetch remote before determining tracking $sha1
|
# Fetch remote before determining tracking $sha1
|
||||||
fetch_in_submodule "$sm_path" $depth ||
|
fetch_in_submodule "$sm_path" $depth ||
|
||||||
die "$(eval_gettext "Unable to fetch in submodule path '\$sm_path'")"
|
die "fatal: $(eval_gettext "Unable to fetch in submodule path '\$sm_path'")"
|
||||||
fi
|
fi
|
||||||
remote_name=$(sanitize_submodule_env; cd "$sm_path" && git submodule--helper print-default-remote)
|
remote_name=$(sanitize_submodule_env; cd "$sm_path" && git submodule--helper print-default-remote)
|
||||||
sha1=$(sanitize_submodule_env; cd "$sm_path" &&
|
sha1=$(sanitize_submodule_env; cd "$sm_path" &&
|
||||||
git rev-parse --verify "${remote_name}/${branch}") ||
|
git rev-parse --verify "${remote_name}/${branch}") ||
|
||||||
die "$(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")"
|
die "fatal: $(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$subsha1" != "$sha1" || test -n "$force"
|
if test "$subsha1" != "$sha1" || test -n "$force"
|
||||||
|
@ -604,36 +604,36 @@ cmd_update()
|
||||||
# not be reachable from any of the refs
|
# not be reachable from any of the refs
|
||||||
is_tip_reachable "$sm_path" "$sha1" ||
|
is_tip_reachable "$sm_path" "$sha1" ||
|
||||||
fetch_in_submodule "$sm_path" "$depth" "$sha1" ||
|
fetch_in_submodule "$sm_path" "$depth" "$sha1" ||
|
||||||
die "$(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain \$sha1. Direct fetching of that commit failed.")"
|
die "fatal: $(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain \$sha1. Direct fetching of that commit failed.")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
must_die_on_failure=
|
must_die_on_failure=
|
||||||
case "$update_module" in
|
case "$update_module" in
|
||||||
checkout)
|
checkout)
|
||||||
command="git checkout $subforce -q"
|
command="git checkout $subforce -q"
|
||||||
die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$displaypath'")"
|
die_msg="fatal: $(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$displaypath'")"
|
||||||
say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
|
say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
|
||||||
;;
|
;;
|
||||||
rebase)
|
rebase)
|
||||||
command="git rebase ${GIT_QUIET:+--quiet}"
|
command="git rebase ${GIT_QUIET:+--quiet}"
|
||||||
die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")"
|
die_msg="fatal: $(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")"
|
||||||
say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")"
|
say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")"
|
||||||
must_die_on_failure=yes
|
must_die_on_failure=yes
|
||||||
;;
|
;;
|
||||||
merge)
|
merge)
|
||||||
command="git merge ${GIT_QUIET:+--quiet}"
|
command="git merge ${GIT_QUIET:+--quiet}"
|
||||||
die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")"
|
die_msg="fatal: $(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")"
|
||||||
say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")"
|
say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")"
|
||||||
must_die_on_failure=yes
|
must_die_on_failure=yes
|
||||||
;;
|
;;
|
||||||
!*)
|
!*)
|
||||||
command="${update_module#!}"
|
command="${update_module#!}"
|
||||||
die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")"
|
die_msg="fatal: $(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")"
|
||||||
say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")"
|
say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")"
|
||||||
must_die_on_failure=yes
|
must_die_on_failure=yes
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
die "$(eval_gettext "Invalid update mode '$update_module' for submodule path '$path'")"
|
die "fatal: $(eval_gettext "Invalid update mode '$update_module' for submodule path '$path'")"
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if (sanitize_submodule_env; cd "$sm_path" && $command "$sha1")
|
if (sanitize_submodule_env; cd "$sm_path" && $command "$sha1")
|
||||||
|
@ -660,7 +660,7 @@ cmd_update()
|
||||||
res=$?
|
res=$?
|
||||||
if test $res -gt 0
|
if test $res -gt 0
|
||||||
then
|
then
|
||||||
die_msg="$(eval_gettext "Failed to recurse into submodule path '\$displaypath'")"
|
die_msg="fatal: $(eval_gettext "Failed to recurse into submodule path '\$displaypath'")"
|
||||||
if test $res -ne 2
|
if test $res -ne 2
|
||||||
then
|
then
|
||||||
err="${err};$die_msg"
|
err="${err};$die_msg"
|
||||||
|
|
|
@ -51,7 +51,7 @@ test_expect_success 'submodule update aborts on missing gitmodules url' '
|
||||||
|
|
||||||
test_expect_success 'add aborts on repository with no commits' '
|
test_expect_success 'add aborts on repository with no commits' '
|
||||||
cat >expect <<-\EOF &&
|
cat >expect <<-\EOF &&
|
||||||
'"'repo-no-commits'"' does not have a commit checked out
|
fatal: '"'repo-no-commits'"' does not have a commit checked out
|
||||||
EOF
|
EOF
|
||||||
git init repo-no-commits &&
|
git init repo-no-commits &&
|
||||||
test_must_fail git submodule add ../a ./repo-no-commits 2>actual &&
|
test_must_fail git submodule add ../a ./repo-no-commits 2>actual &&
|
||||||
|
@ -199,7 +199,7 @@ test_expect_success 'submodule add to .gitignored path with --force' '
|
||||||
test_expect_success 'submodule add to path with tracked content fails' '
|
test_expect_success 'submodule add to path with tracked content fails' '
|
||||||
(
|
(
|
||||||
cd addtest &&
|
cd addtest &&
|
||||||
echo "'\''dir-tracked'\'' already exists in the index" >expect &&
|
echo "fatal: '\''dir-tracked'\'' already exists in the index" >expect &&
|
||||||
mkdir dir-tracked &&
|
mkdir dir-tracked &&
|
||||||
test_commit foo dir-tracked/bar &&
|
test_commit foo dir-tracked/bar &&
|
||||||
test_must_fail git submodule add "$submodurl" dir-tracked >actual 2>&1 &&
|
test_must_fail git submodule add "$submodurl" dir-tracked >actual 2>&1 &&
|
||||||
|
|
|
@ -448,7 +448,7 @@ test_expect_success 'fsck detects command in .gitmodules' '
|
||||||
'
|
'
|
||||||
|
|
||||||
cat << EOF >expect
|
cat << EOF >expect
|
||||||
Execution of 'false $submodulesha1' failed in submodule path 'submodule'
|
fatal: Execution of 'false $submodulesha1' failed in submodule path 'submodule'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'submodule update - command in .git/config catches failure' '
|
test_expect_success 'submodule update - command in .git/config catches failure' '
|
||||||
|
@ -465,7 +465,7 @@ test_expect_success 'submodule update - command in .git/config catches failure'
|
||||||
'
|
'
|
||||||
|
|
||||||
cat << EOF >expect
|
cat << EOF >expect
|
||||||
Execution of 'false $submodulesha1' failed in submodule path '../submodule'
|
fatal: Execution of 'false $submodulesha1' failed in submodule path '../submodule'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'submodule update - command in .git/config catches failure -- subdirectory' '
|
test_expect_success 'submodule update - command in .git/config catches failure -- subdirectory' '
|
||||||
|
@ -484,7 +484,7 @@ test_expect_success 'submodule update - command in .git/config catches failure -
|
||||||
|
|
||||||
test_expect_success 'submodule update - command run for initial population of submodule' '
|
test_expect_success 'submodule update - command run for initial population of submodule' '
|
||||||
cat >expect <<-EOF &&
|
cat >expect <<-EOF &&
|
||||||
Execution of '\''false $submodulesha1'\'' failed in submodule path '\''submodule'\''
|
fatal: Execution of '\''false $submodulesha1'\'' failed in submodule path '\''submodule'\''
|
||||||
EOF
|
EOF
|
||||||
rm -rf super/submodule &&
|
rm -rf super/submodule &&
|
||||||
test_must_fail git -C super submodule update 2>actual &&
|
test_must_fail git -C super submodule update 2>actual &&
|
||||||
|
@ -493,8 +493,8 @@ test_expect_success 'submodule update - command run for initial population of su
|
||||||
'
|
'
|
||||||
|
|
||||||
cat << EOF >expect
|
cat << EOF >expect
|
||||||
Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
|
fatal: Execution of 'false $submodulesha1' failed in submodule path '../super/submodule'
|
||||||
Failed to recurse into submodule path '../super'
|
fatal: Failed to recurse into submodule path '../super'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' '
|
test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' '
|
||||||
|
|
Loading…
Reference in a new issue