Merge branch 'ab/i18n-scripts' into next
* ab/i18n-scripts: (48 commits) i18n: git-bisect bisect_next_check "You need to" message i18n: git-bisect [Y/n] messages i18n: git-bisect bisect_replay + $1 messages i18n: git-bisect bisect_reset + $1 messages i18n: git-bisect bisect_run + $@ messages i18n: git-bisect die + eval_gettext messages i18n: git-bisect die + gettext messages i18n: git-bisect echo + eval_gettext message i18n: git-bisect echo + gettext messages i18n: git-bisect gettext + echo message i18n: git-bisect add git-sh-i18n i18n: git-stash drop_stash say/die messages i18n: git-stash "unknown option" message i18n: git-stash die + eval_gettext $1 messages i18n: git-stash die + eval_gettext $* messages i18n: git-stash die + eval_gettext messages i18n: git-stash die + gettext messages i18n: git-stash say + gettext messages i18n: git-stash echo + gettext message i18n: git-stash add git-sh-i18n ...
This commit is contained in:
commit
61f44720a9
77
git-am.sh
77
git-am.sh
@ -37,13 +37,14 @@ rerere-autoupdate update the index with reused conflict resolution if possible
|
||||
rebasing* (internal use for git-rebase)"
|
||||
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
prefix=$(git rev-parse --show-prefix)
|
||||
set_reflog_action am
|
||||
require_work_tree
|
||||
cd_to_toplevel
|
||||
|
||||
git var GIT_COMMITTER_IDENT >/dev/null ||
|
||||
die "You need to set your committer info first"
|
||||
die "$(gettext "You need to set your committer info first")"
|
||||
|
||||
if git rev-parse --verify -q HEAD >/dev/null
|
||||
then
|
||||
@ -88,8 +89,11 @@ safe_to_abort () {
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
echo >&2 "You seem to have moved HEAD since the last 'am' failure."
|
||||
echo >&2 "Not rewinding to ORIG_HEAD"
|
||||
(
|
||||
gettext "You seem to have moved HEAD since the last 'am' failure.
|
||||
Not rewinding to ORIG_HEAD" &&
|
||||
echo
|
||||
) >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
@ -98,9 +102,9 @@ stop_here_user_resolve () {
|
||||
printf '%s\n' "$resolvemsg"
|
||||
stop_here $1
|
||||
fi
|
||||
echo "When you have resolved this problem run \"$cmdline --resolved\"."
|
||||
echo "If you would prefer to skip this patch, instead run \"$cmdline --skip\"."
|
||||
echo "To restore the original branch and stop patching run \"$cmdline --abort\"."
|
||||
eval_gettext "When you have resolved this problem run \"\$cmdline --resolved\".
|
||||
If you would prefer to skip this patch, instead run \"\$cmdline --skip\".
|
||||
To restore the original branch and stop patching run \"\$cmdline --abort\"."; echo
|
||||
|
||||
stop_here $1
|
||||
}
|
||||
@ -114,7 +118,7 @@ go_next () {
|
||||
|
||||
cannot_fallback () {
|
||||
echo "$1"
|
||||
echo "Cannot fall back to three-way merge."
|
||||
gettext "Cannot fall back to three-way merge."; echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -129,7 +133,7 @@ fall_back_3way () {
|
||||
"$dotest/patch" &&
|
||||
GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \
|
||||
git write-tree >"$dotest/patch-merge-base+" ||
|
||||
cannot_fallback "Repository lacks necessary blobs to fall back on 3-way merge."
|
||||
cannot_fallback "$(gettext "Repository lacks necessary blobs to fall back on 3-way merge.")"
|
||||
|
||||
say Using index info to reconstruct a base tree...
|
||||
if GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \
|
||||
@ -138,8 +142,8 @@ fall_back_3way () {
|
||||
mv "$dotest/patch-merge-base+" "$dotest/patch-merge-base"
|
||||
mv "$dotest/patch-merge-tmp-index" "$dotest/patch-merge-index"
|
||||
else
|
||||
cannot_fallback "Did you hand edit your patch?
|
||||
It does not apply to blobs recorded in its index."
|
||||
cannot_fallback "$(gettext "Did you hand edit your patch?
|
||||
It does not apply to blobs recorded in its index.")"
|
||||
fi
|
||||
|
||||
test -f "$dotest/patch-merge-index" &&
|
||||
@ -147,7 +151,7 @@ It does not apply to blobs recorded in its index."
|
||||
orig_tree=$(cat "$dotest/patch-merge-base") &&
|
||||
rm -fr "$dotest"/patch-merge-* || exit 1
|
||||
|
||||
say Falling back to patching base and 3-way merge...
|
||||
say "$(gettext "Falling back to patching base and 3-way merge...")"
|
||||
|
||||
# This is not so wrong. Depending on which base we picked,
|
||||
# orig_tree may be wildly different from ours, but his_tree
|
||||
@ -254,7 +258,7 @@ split_patches () {
|
||||
stgit-series)
|
||||
if test $# -ne 1
|
||||
then
|
||||
clean_abort "Only one StGIT patch series can be applied at once"
|
||||
clean_abort "$(gettext "Only one StGIT patch series can be applied at once")"
|
||||
fi
|
||||
series_dir=`dirname "$1"`
|
||||
series_file="$1"
|
||||
@ -306,9 +310,9 @@ split_patches () {
|
||||
;;
|
||||
*)
|
||||
if test -n "$parse_patch" ; then
|
||||
clean_abort "Patch format $patch_format is not supported."
|
||||
clean_abort "$(eval_gettext "Patch format \$patch_format is not supported.")"
|
||||
else
|
||||
clean_abort "Patch format detection failed."
|
||||
clean_abort "$(gettext "Patch format detection failed.")"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@ -358,7 +362,7 @@ do
|
||||
--rebasing)
|
||||
rebasing=t threeway=t keep=t scissors=f no_inbody_headers=t ;;
|
||||
-d|--dotest)
|
||||
die "-d option is no longer supported. Do not use."
|
||||
die "$(gettext "-d option is no longer supported. Do not use.")"
|
||||
;;
|
||||
--resolvemsg)
|
||||
shift; resolvemsg=$1 ;;
|
||||
@ -421,12 +425,12 @@ then
|
||||
false
|
||||
;;
|
||||
esac ||
|
||||
die "previous rebase directory $dotest still exists but mbox given."
|
||||
die "$(eval_gettext "previous rebase directory \$dotest still exists but mbox given.")"
|
||||
resume=yes
|
||||
|
||||
case "$skip,$abort" in
|
||||
t,t)
|
||||
die "Please make up your mind. --skip or --abort?"
|
||||
die "$(gettext "Please make up your mind. --skip or --abort?")"
|
||||
;;
|
||||
t,)
|
||||
git rerere clear
|
||||
@ -453,7 +457,7 @@ then
|
||||
else
|
||||
# Make sure we are not given --skip, --resolved, nor --abort
|
||||
test "$skip$resolved$abort" = "" ||
|
||||
die "Resolve operation not in progress, we are not resuming."
|
||||
die "$(gettext "Resolve operation not in progress, we are not resuming.")"
|
||||
|
||||
# Start afresh.
|
||||
mkdir -p "$dotest" || exit
|
||||
@ -518,7 +522,7 @@ case "$resolved" in
|
||||
if test "$files"
|
||||
then
|
||||
test -n "$HAS_HEAD" && : >"$dotest/dirtyindex"
|
||||
die "Dirty index: cannot apply patches (dirty: $files)"
|
||||
die "$(eval_gettext "Dirty index: cannot apply patches (dirty: \$files)")"
|
||||
fi
|
||||
esac
|
||||
|
||||
@ -607,9 +611,9 @@ do
|
||||
go_next && continue
|
||||
|
||||
test -s "$dotest/patch" || {
|
||||
echo "Patch is empty. Was it split wrong?"
|
||||
echo "If you would prefer to skip this patch, instead run \"$cmdline --skip\"."
|
||||
echo "To restore the original branch and stop patching run \"$cmdline --abort\"."
|
||||
eval_gettext "Patch is empty. Was it split wrong?
|
||||
If you would prefer to skip this patch, instead run \"\$cmdline --skip\".
|
||||
To restore the original branch and stop patching run \"\$cmdline --abort\"."; echo
|
||||
stop_here $this
|
||||
}
|
||||
rm -f "$dotest/original-commit" "$dotest/author-script"
|
||||
@ -644,7 +648,7 @@ do
|
||||
|
||||
if test -z "$GIT_AUTHOR_EMAIL"
|
||||
then
|
||||
echo "Patch does not have a valid e-mail address."
|
||||
gettext "Patch does not have a valid e-mail address."; echo
|
||||
stop_here $this
|
||||
fi
|
||||
|
||||
@ -691,15 +695,18 @@ do
|
||||
if test "$interactive" = t
|
||||
then
|
||||
test -t 0 ||
|
||||
die "cannot be interactive without stdin connected to a terminal."
|
||||
die "$(gettext "cannot be interactive without stdin connected to a terminal.")"
|
||||
action=again
|
||||
while test "$action" = again
|
||||
do
|
||||
echo "Commit Body is:"
|
||||
gettext "Commit Body is:"; echo
|
||||
echo "--------------------------"
|
||||
cat "$dotest/final-commit"
|
||||
echo "--------------------------"
|
||||
printf "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
|
||||
# TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
|
||||
# in your translation. The program will only accept English
|
||||
# input at this point.
|
||||
gettext "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
|
||||
read reply
|
||||
case "$reply" in
|
||||
[yY]*) action=yes ;;
|
||||
@ -735,7 +742,7 @@ do
|
||||
stop_here $this
|
||||
fi
|
||||
|
||||
say "Applying: $FIRSTLINE"
|
||||
say "$(eval_gettext "Applying: \$FIRSTLINE")"
|
||||
|
||||
case "$resolved" in
|
||||
'')
|
||||
@ -756,16 +763,16 @@ do
|
||||
# working tree.
|
||||
resolved=
|
||||
git diff-index --quiet --cached HEAD -- && {
|
||||
echo "No changes - did you forget to use 'git add'?"
|
||||
echo "If there is nothing left to stage, chances are that something else"
|
||||
echo "already introduced the same changes; you might want to skip this patch."
|
||||
gettext "No changes - did you forget to use 'git add'?
|
||||
If there is nothing left to stage, chances are that something else
|
||||
already introduced the same changes; you might want to skip this patch."; echo
|
||||
stop_here_user_resolve $this
|
||||
}
|
||||
unmerged=$(git ls-files -u)
|
||||
if test -n "$unmerged"
|
||||
then
|
||||
echo "You still have unmerged paths in your index"
|
||||
echo "did you forget to use 'git add'?"
|
||||
gettext "You still have unmerged paths in your index
|
||||
did you forget to use 'git add'?"; echo
|
||||
stop_here_user_resolve $this
|
||||
fi
|
||||
apply_status=0
|
||||
@ -780,7 +787,7 @@ do
|
||||
# Applying the patch to an earlier tree and merging the
|
||||
# result may have produced the same tree as ours.
|
||||
git diff-index --quiet --cached HEAD -- && {
|
||||
say No changes -- Patch already applied.
|
||||
say "$(gettext "No changes -- Patch already applied.")"
|
||||
go_next
|
||||
continue
|
||||
}
|
||||
@ -790,7 +797,7 @@ do
|
||||
fi
|
||||
if test $apply_status != 0
|
||||
then
|
||||
printf 'Patch failed at %s %s\n' "$msgnum" "$FIRSTLINE"
|
||||
eval_gettext 'Patch failed at $msgnum $FIRSTLINE'; echo
|
||||
stop_here_user_resolve $this
|
||||
fi
|
||||
|
||||
@ -806,7 +813,7 @@ do
|
||||
GIT_AUTHOR_DATE=
|
||||
fi
|
||||
parent=$(git rev-parse --verify -q HEAD) ||
|
||||
say >&2 "applying to an empty history"
|
||||
say >&2 "$(gettext "applying to an empty history")"
|
||||
|
||||
if test -n "$committer_date_is_author_date"
|
||||
then
|
||||
|
113
git-bisect.sh
113
git-bisect.sh
@ -28,6 +28,7 @@ Please use "git help bisect" to get the full man page.'
|
||||
|
||||
OPTIONS_SPEC=
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
require_work_tree
|
||||
|
||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
@ -35,10 +36,16 @@ _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
|
||||
bisect_autostart() {
|
||||
test -s "$GIT_DIR/BISECT_START" || {
|
||||
echo >&2 'You need to start by "git bisect start"'
|
||||
(
|
||||
gettext "You need to start by \"git bisect start\"" &&
|
||||
echo
|
||||
) >&2
|
||||
if test -t 0
|
||||
then
|
||||
echo >&2 -n 'Do you want me to do it for you [Y/n]? '
|
||||
# TRANSLATORS: Make sure to include [Y] and [n] in your
|
||||
# translation. The program will only accept English input
|
||||
# at this point.
|
||||
gettext "Do you want me to do it for you [Y/n]? " >&2
|
||||
read yesno
|
||||
case "$yesno" in
|
||||
[Nn]*)
|
||||
@ -57,7 +64,7 @@ bisect_start() {
|
||||
#
|
||||
head=$(GIT_DIR="$GIT_DIR" git symbolic-ref -q HEAD) ||
|
||||
head=$(GIT_DIR="$GIT_DIR" git rev-parse --verify HEAD) ||
|
||||
die "Bad HEAD - I need a HEAD"
|
||||
die "$(gettext "Bad HEAD - I need a HEAD")"
|
||||
|
||||
#
|
||||
# Check if we are bisecting.
|
||||
@ -76,11 +83,11 @@ bisect_start() {
|
||||
# cogito usage, and cogito users should understand
|
||||
# it relates to cg-seek.
|
||||
[ -s "$GIT_DIR/head-name" ] &&
|
||||
die "won't bisect on seeked tree"
|
||||
die "$(gettext "won't bisect on seeked tree")"
|
||||
start_head="${head#refs/heads/}"
|
||||
;;
|
||||
*)
|
||||
die "Bad HEAD - strange symbolic ref"
|
||||
die "$(gettext "Bad HEAD - strange symbolic ref")"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@ -110,7 +117,7 @@ bisect_start() {
|
||||
*)
|
||||
rev=$(git rev-parse -q --verify "$arg^{commit}") || {
|
||||
test $has_double_dash -eq 1 &&
|
||||
die "'$arg' does not appear to be a valid revision"
|
||||
die "$(eval_gettext "'\$arg' does not appear to be a valid revision")"
|
||||
break
|
||||
}
|
||||
case $bad_seen in
|
||||
@ -155,7 +162,7 @@ bisect_write() {
|
||||
case "$state" in
|
||||
bad) tag="$state" ;;
|
||||
good|skip) tag="$state"-"$rev" ;;
|
||||
*) die "Bad bisect_write argument: $state" ;;
|
||||
*) die "$(eval_gettext "Bad bisect_write argument: \$state")" ;;
|
||||
esac
|
||||
git update-ref "refs/bisect/$tag" "$rev" || exit
|
||||
echo "# $state: $(git show-branch $rev)" >>"$GIT_DIR/BISECT_LOG"
|
||||
@ -183,7 +190,7 @@ bisect_skip() {
|
||||
do
|
||||
case "$arg" in
|
||||
*..*)
|
||||
revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;;
|
||||
revs=$(git rev-list "$arg") || die "$(eval_gettext "Bad rev input: \$arg")" ;;
|
||||
*)
|
||||
revs=$(git rev-parse --sq-quote "$arg") ;;
|
||||
esac
|
||||
@ -197,10 +204,10 @@ bisect_state() {
|
||||
state=$1
|
||||
case "$#,$state" in
|
||||
0,*)
|
||||
die "Please call 'bisect_state' with at least one argument." ;;
|
||||
die "$(gettext "Please call 'bisect_state' with at least one argument.")" ;;
|
||||
1,bad|1,good|1,skip)
|
||||
rev=$(git rev-parse --verify HEAD) ||
|
||||
die "Bad rev input: HEAD"
|
||||
die "$(gettext "Bad rev input: HEAD")"
|
||||
bisect_write "$state" "$rev"
|
||||
check_expected_revs "$rev" ;;
|
||||
2,bad|*,good|*,skip)
|
||||
@ -209,13 +216,13 @@ bisect_state() {
|
||||
for rev in "$@"
|
||||
do
|
||||
sha=$(git rev-parse --verify "$rev^{commit}") ||
|
||||
die "Bad rev input: $rev"
|
||||
die "$(eval_gettext "Bad rev input: \$rev")"
|
||||
eval="$eval bisect_write '$state' '$sha'; "
|
||||
done
|
||||
eval "$eval"
|
||||
check_expected_revs "$@" ;;
|
||||
*,bad)
|
||||
die "'git bisect bad' can take only one argument." ;;
|
||||
die "$(gettext "'git bisect bad' can take only one argument.")" ;;
|
||||
*)
|
||||
usage ;;
|
||||
esac
|
||||
@ -238,25 +245,38 @@ bisect_next_check() {
|
||||
t,,good)
|
||||
# have bad but not good. we could bisect although
|
||||
# this is less optimum.
|
||||
echo >&2 'Warning: bisecting only with a bad commit.'
|
||||
(
|
||||
gettext "Warning: bisecting only with a bad commit." &&
|
||||
echo
|
||||
) >&2
|
||||
if test -t 0
|
||||
then
|
||||
printf >&2 'Are you sure [Y/n]? '
|
||||
# TRANSLATORS: Make sure to include [Y] and [n] in your
|
||||
# translation. The program will only accept English input
|
||||
# at this point.
|
||||
gettext "Are you sure [Y/n]? " >&2
|
||||
read yesno
|
||||
case "$yesno" in [Nn]*) exit 1 ;; esac
|
||||
fi
|
||||
: bisect without good...
|
||||
;;
|
||||
*)
|
||||
THEN=''
|
||||
test -s "$GIT_DIR/BISECT_START" || {
|
||||
echo >&2 'You need to start by "git bisect start".'
|
||||
THEN='then '
|
||||
}
|
||||
echo >&2 'You '$THEN'need to give me at least one good' \
|
||||
'and one bad revisions.'
|
||||
echo >&2 '(You can use "git bisect bad" and' \
|
||||
'"git bisect good" for that.)'
|
||||
|
||||
if test -s "$GIT_DIR/BISECT_START"
|
||||
then
|
||||
(
|
||||
gettext "You need to give me at least one good and one bad revisions.
|
||||
(You can use \"git bisect bad\" and \"git bisect good\" for that.)" &&
|
||||
echo
|
||||
) >&2
|
||||
else
|
||||
(
|
||||
gettext "You need to start by \"git bisect start\".
|
||||
You then need to give me at least one good and one bad revisions.
|
||||
(You can use \"git bisect bad\" and \"git bisect good\" for that.)" &&
|
||||
echo
|
||||
) >&2
|
||||
fi
|
||||
exit 1 ;;
|
||||
esac
|
||||
}
|
||||
@ -307,13 +327,15 @@ bisect_visualize() {
|
||||
|
||||
bisect_reset() {
|
||||
test -s "$GIT_DIR/BISECT_START" || {
|
||||
echo "We are not bisecting."
|
||||
gettext "We are not bisecting."; echo
|
||||
return
|
||||
}
|
||||
case "$#" in
|
||||
0) branch=$(cat "$GIT_DIR/BISECT_START") ;;
|
||||
1) git rev-parse --quiet --verify "$1^{commit}" > /dev/null ||
|
||||
die "'$1' is not a valid commit"
|
||||
1) git rev-parse --quiet --verify "$1^{commit}" > /dev/null || {
|
||||
invalid="$1"
|
||||
die "$(eval_gettext "'\$invalid' is not a valid commit")"
|
||||
}
|
||||
branch="$1" ;;
|
||||
*)
|
||||
usage ;;
|
||||
@ -321,8 +343,8 @@ bisect_reset() {
|
||||
if git checkout "$branch" -- ; then
|
||||
bisect_clean_state
|
||||
else
|
||||
die "Could not check out original HEAD '$branch'." \
|
||||
"Try 'git bisect reset <commit>'."
|
||||
die "$(eval_gettext "Could not check out original HEAD '\$branch'.
|
||||
Try 'git bisect reset <commit>'.")"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -345,8 +367,9 @@ bisect_clean_state() {
|
||||
}
|
||||
|
||||
bisect_replay () {
|
||||
test "$#" -eq 1 || die "No logfile given"
|
||||
test -r "$1" || die "cannot read $1 for replaying"
|
||||
file="$1"
|
||||
test "$#" -eq 1 || die "$(gettext "No logfile given")"
|
||||
test -r "$file" || die "$(eval_gettext "cannot read \$file for replaying")"
|
||||
bisect_reset
|
||||
while read git bisect command rev
|
||||
do
|
||||
@ -362,9 +385,9 @@ bisect_replay () {
|
||||
good|bad|skip)
|
||||
bisect_write "$command" "$rev" ;;
|
||||
*)
|
||||
die "?? what are you talking about?" ;;
|
||||
die "$(gettext "?? what are you talking about?")" ;;
|
||||
esac
|
||||
done <"$1"
|
||||
done <"$file"
|
||||
bisect_auto_next
|
||||
}
|
||||
|
||||
@ -373,14 +396,18 @@ bisect_run () {
|
||||
|
||||
while true
|
||||
do
|
||||
echo "running $@"
|
||||
command="$@"
|
||||
eval_gettext "running \$command"; echo
|
||||
"$@"
|
||||
res=$?
|
||||
|
||||
# Check for really bad run error.
|
||||
if [ $res -lt 0 -o $res -ge 128 ]; then
|
||||
echo >&2 "bisect run failed:"
|
||||
echo >&2 "exit code $res from '$@' is < 0 or >= 128"
|
||||
(
|
||||
eval_gettext "bisect run failed:
|
||||
exit code \$res from '\$command' is < 0 or >= 128" &&
|
||||
echo
|
||||
) >&2
|
||||
exit $res
|
||||
fi
|
||||
|
||||
@ -402,18 +429,24 @@ 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"
|
||||
(
|
||||
gettext "bisect run cannot continue any more" &&
|
||||
echo
|
||||
) >&2
|
||||
exit $res
|
||||
fi
|
||||
|
||||
if [ $res -ne 0 ]; then
|
||||
echo >&2 "bisect run failed:"
|
||||
echo >&2 "'bisect_state $state' exited with error code $res"
|
||||
(
|
||||
eval_gettext "bisect run failed:
|
||||
'bisect_state \$state' exited with error code \$res" &&
|
||||
echo
|
||||
) >&2
|
||||
exit $res
|
||||
fi
|
||||
|
||||
if sane_grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null; then
|
||||
echo "bisect run success"
|
||||
gettext "bisect run success"; echo
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
@ -421,7 +454,7 @@ bisect_run () {
|
||||
}
|
||||
|
||||
bisect_log () {
|
||||
test -s "$GIT_DIR/BISECT_LOG" || die "We are not bisecting."
|
||||
test -s "$GIT_DIR/BISECT_LOG" || die "$(gettext "We are not bisecting.")"
|
||||
cat "$GIT_DIR/BISECT_LOG"
|
||||
}
|
||||
|
||||
|
34
git-pull.sh
34
git-pull.sh
@ -9,6 +9,7 @@ LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEA
|
||||
SUBDIRECTORY_OK=Yes
|
||||
OPTIONS_SPEC=
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
set_reflog_action "pull $*"
|
||||
require_work_tree
|
||||
cd_to_toplevel
|
||||
@ -17,20 +18,20 @@ cd_to_toplevel
|
||||
die_conflict () {
|
||||
git diff-index --cached --name-status -r --ignore-submodules HEAD --
|
||||
if [ $(git config --bool --get advice.resolveConflict || echo true) = "true" ]; then
|
||||
die "Pull is not possible because you have unmerged files.
|
||||
die "$(gettext "Pull is not possible because you have unmerged files.
|
||||
Please, fix them up in the work tree, and then use 'git add/rm <file>'
|
||||
as appropriate to mark resolution, or use 'git commit -a'."
|
||||
as appropriate to mark resolution, or use 'git commit -a'.")"
|
||||
else
|
||||
die "Pull is not possible because you have unmerged files."
|
||||
die "$(gettext "Pull is not possible because you have unmerged files.")"
|
||||
fi
|
||||
}
|
||||
|
||||
die_merge () {
|
||||
if [ $(git config --bool --get advice.resolveConflict || echo true) = "true" ]; then
|
||||
die "You have not concluded your merge (MERGE_HEAD exists).
|
||||
Please, commit your changes before you can merge."
|
||||
die "$(gettext "You have not concluded your merge (MERGE_HEAD exists).
|
||||
Please, commit your changes before you can merge.")"
|
||||
else
|
||||
die "You have not concluded your merge (MERGE_HEAD exists)."
|
||||
die "$(gettext "You have not concluded your merge (MERGE_HEAD exists).")"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -185,7 +186,7 @@ test true = "$rebase" && {
|
||||
# On an unborn branch
|
||||
if test -f "$GIT_DIR/index"
|
||||
then
|
||||
die "updating an unborn branch with changes added to the index"
|
||||
die "$(gettext "updating an unborn branch with changes added to the index")"
|
||||
fi
|
||||
else
|
||||
require_clean_work_tree "pull with rebase" "Please commit or stash them."
|
||||
@ -216,17 +217,20 @@ then
|
||||
# $orig_head commit, but we are merging into $curr_head.
|
||||
# First update the working tree to match $curr_head.
|
||||
|
||||
echo >&2 "Warning: fetch updated the current branch head."
|
||||
echo >&2 "Warning: fast-forwarding your working tree from"
|
||||
echo >&2 "Warning: commit $orig_head."
|
||||
(
|
||||
eval_gettext "Warning: fetch updated the current branch head.
|
||||
Warning: fast-forwarding your working tree from
|
||||
Warning: commit \$orig_head." &&
|
||||
echo
|
||||
) >&2
|
||||
git update-index -q --refresh
|
||||
git read-tree -u -m "$orig_head" "$curr_head" ||
|
||||
die 'Cannot fast-forward your working tree.
|
||||
die "$(eval_gettext "Cannot fast-forward your working tree.
|
||||
After making sure that you saved anything precious from
|
||||
$ git diff '$orig_head'
|
||||
$ git diff \$orig_head
|
||||
output, run
|
||||
$ git reset --hard
|
||||
to recover.'
|
||||
to recover.")"
|
||||
|
||||
fi
|
||||
|
||||
@ -241,11 +245,11 @@ case "$merge_head" in
|
||||
?*' '?*)
|
||||
if test -z "$orig_head"
|
||||
then
|
||||
die "Cannot merge multiple branches into empty head"
|
||||
die "$(gettext "Cannot merge multiple branches into empty head")"
|
||||
fi
|
||||
if test true = "$rebase"
|
||||
then
|
||||
die "Cannot rebase onto multiple branches"
|
||||
die "$(gettext "Cannot rebase onto multiple branches")"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
81
git-stash.sh
81
git-stash.sh
@ -14,6 +14,7 @@ SUBDIRECTORY_OK=Yes
|
||||
OPTIONS_SPEC=
|
||||
START_DIR=`pwd`
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
require_work_tree
|
||||
cd_to_toplevel
|
||||
|
||||
@ -39,7 +40,7 @@ no_changes () {
|
||||
clear_stash () {
|
||||
if test $# != 0
|
||||
then
|
||||
die "git stash clear with parameters is unimplemented"
|
||||
die "$(gettext "git stash clear with parameters is unimplemented")"
|
||||
fi
|
||||
if current=$(git rev-parse --verify $ref_stash 2>/dev/null)
|
||||
then
|
||||
@ -61,7 +62,7 @@ create_stash () {
|
||||
then
|
||||
head=$(git rev-list --oneline -n 1 HEAD --)
|
||||
else
|
||||
die "You do not have the initial commit yet"
|
||||
die "$(gettext "You do not have the initial commit yet")"
|
||||
fi
|
||||
|
||||
if branch=$(git symbolic-ref -q HEAD)
|
||||
@ -76,7 +77,7 @@ create_stash () {
|
||||
i_tree=$(git write-tree) &&
|
||||
i_commit=$(printf 'index on %s\n' "$msg" |
|
||||
git commit-tree $i_tree -p $b_commit) ||
|
||||
die "Cannot save the current index state"
|
||||
die "$(gettext "Cannot save the current index state")"
|
||||
|
||||
if test -z "$patch_mode"
|
||||
then
|
||||
@ -90,7 +91,7 @@ create_stash () {
|
||||
git write-tree &&
|
||||
rm -f "$TMPindex"
|
||||
) ) ||
|
||||
die "Cannot save the current worktree state"
|
||||
die "$(gettext "Cannot save the current worktree state")"
|
||||
|
||||
else
|
||||
|
||||
@ -103,14 +104,14 @@ create_stash () {
|
||||
|
||||
# state of the working tree
|
||||
w_tree=$(GIT_INDEX_FILE="$TMP-index" git write-tree) ||
|
||||
die "Cannot save the current worktree state"
|
||||
die "$(gettext "Cannot save the current worktree state")"
|
||||
|
||||
git diff-tree -p HEAD $w_tree > "$TMP-patch" &&
|
||||
test -s "$TMP-patch" ||
|
||||
die "No changes selected"
|
||||
die "$(gettext "No changes selected")"
|
||||
|
||||
rm -f "$TMP-index" ||
|
||||
die "Cannot remove temporary index (can't happen)"
|
||||
die "$(gettext "Cannot remove temporary index (can't happen)")"
|
||||
|
||||
fi
|
||||
|
||||
@ -123,7 +124,7 @@ create_stash () {
|
||||
fi
|
||||
w_commit=$(printf '%s\n' "$stash_msg" |
|
||||
git commit-tree $w_tree -p $b_commit -p $i_commit) ||
|
||||
die "Cannot record working tree state"
|
||||
die "$(gettext "Cannot record working tree state")"
|
||||
}
|
||||
|
||||
save_stash () {
|
||||
@ -151,8 +152,19 @@ save_stash () {
|
||||
break
|
||||
;;
|
||||
-*)
|
||||
echo "error: unknown option for 'stash save': $1"
|
||||
echo " To provide a message, use git stash save -- '$1'"
|
||||
option="$1"
|
||||
# TRANSLATORS: $option is an invalid option, like
|
||||
# `--blah-blah'. The 7 spaces at the beginning of the
|
||||
# second line correspond to "error: ". So you should line
|
||||
# up the second line with however many characters the
|
||||
# translation of "error: " takes in your language. E.g. in
|
||||
# English this is:
|
||||
#
|
||||
# $ git stash save --blah-blah 2>&1 | head -n 2
|
||||
# error: unknown option for 'stash save': --blah-blah
|
||||
# To provide a message, use git stash save -- '--blah-blah'
|
||||
eval_gettext "$("error: unknown option for 'stash save': \$option
|
||||
To provide a message, use git stash save -- '\$option'")"; echo
|
||||
usage
|
||||
;;
|
||||
*)
|
||||
@ -167,11 +179,11 @@ save_stash () {
|
||||
git update-index -q --refresh
|
||||
if no_changes
|
||||
then
|
||||
say 'No local changes to save'
|
||||
say "$(gettext "No local changes to save")"
|
||||
exit 0
|
||||
fi
|
||||
test -f "$GIT_DIR/logs/$ref_stash" ||
|
||||
clear_stash || die "Cannot initialize stash"
|
||||
clear_stash || die "$(gettext "Cannot initialize stash")"
|
||||
|
||||
create_stash "$stash_msg"
|
||||
|
||||
@ -179,7 +191,7 @@ save_stash () {
|
||||
: >>"$GIT_DIR/logs/$ref_stash"
|
||||
|
||||
git update-ref -m "$stash_msg" $ref_stash $w_commit ||
|
||||
die "Cannot save the current status"
|
||||
die "$(gettext "Cannot save the current status")"
|
||||
say Saved working directory and index state "$stash_msg"
|
||||
|
||||
if test -z "$patch_mode"
|
||||
@ -192,7 +204,7 @@ save_stash () {
|
||||
fi
|
||||
else
|
||||
git apply -R < "$TMP-patch" ||
|
||||
die "Cannot remove worktree changes"
|
||||
die "$(gettext "Cannot remove worktree changes")"
|
||||
|
||||
if test "$keep_index" != "t"
|
||||
then
|
||||
@ -287,18 +299,21 @@ parse_flags_and_rev()
|
||||
|
||||
case $# in
|
||||
0)
|
||||
have_stash || die "No stash found."
|
||||
have_stash || die "$(gettext "No stash found.")"
|
||||
set -- ${ref_stash}@{0}
|
||||
;;
|
||||
1)
|
||||
:
|
||||
;;
|
||||
*)
|
||||
die "Too many revisions specified: $REV"
|
||||
die "$(eval_gettext "Too many revisions specified: \$REV")"
|
||||
;;
|
||||
esac
|
||||
|
||||
REV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || die "$1 is not valid reference"
|
||||
REV=$(git rev-parse --quiet --symbolic --verify $1 2>/dev/null) || {
|
||||
reference="$1"
|
||||
die "$(eval_gettext "\$reference is not valid reference")"
|
||||
}
|
||||
|
||||
i_commit=$(git rev-parse --quiet --verify $REV^2 2>/dev/null) &&
|
||||
set -- $(git rev-parse $REV $REV^1 $REV: $REV^1: $REV^2: 2>/dev/null) &&
|
||||
@ -320,7 +335,10 @@ is_stash_like()
|
||||
}
|
||||
|
||||
assert_stash_like() {
|
||||
is_stash_like "$@" || die "'$*' is not a stash-like commit"
|
||||
is_stash_like "$@" || {
|
||||
args="$*"
|
||||
die "$(eval_gettext "'\$args' is not a stash-like commit")"
|
||||
}
|
||||
}
|
||||
|
||||
is_stash_ref() {
|
||||
@ -328,18 +346,21 @@ is_stash_ref() {
|
||||
}
|
||||
|
||||
assert_stash_ref() {
|
||||
is_stash_ref "$@" || die "'$*' is not a stash reference"
|
||||
is_stash_ref "$@" || {
|
||||
args="$*"
|
||||
die "$(eval_gettext "'\$args' is not a stash reference")"
|
||||
}
|
||||
}
|
||||
|
||||
apply_stash () {
|
||||
|
||||
assert_stash_like "$@"
|
||||
|
||||
git update-index -q --refresh || die 'unable to refresh index'
|
||||
git update-index -q --refresh || die "$(gettext "unable to refresh index")"
|
||||
|
||||
# current index state
|
||||
c_tree=$(git write-tree) ||
|
||||
die 'Cannot apply a stash in the middle of a merge'
|
||||
die "$(gettext "Cannot apply a stash in the middle of a merge")"
|
||||
|
||||
unstashed_index_tree=
|
||||
if test -n "$INDEX_OPTION" && test "$b_tree" != "$i_tree" &&
|
||||
@ -347,9 +368,9 @@ apply_stash () {
|
||||
then
|
||||
git diff-tree --binary $s^2^..$s^2 | git apply --cached
|
||||
test $? -ne 0 &&
|
||||
die 'Conflicts in index. Try without --index.'
|
||||
die "$(gettext "Conflicts in index. Try without --index.")"
|
||||
unstashed_index_tree=$(git write-tree) ||
|
||||
die 'Could not save index tree'
|
||||
die "$(gettext "Could not save index tree")"
|
||||
git reset
|
||||
fi
|
||||
|
||||
@ -375,7 +396,7 @@ apply_stash () {
|
||||
git diff-index --cached --name-only --diff-filter=A $c_tree >"$a" &&
|
||||
git read-tree --reset $c_tree &&
|
||||
git update-index --add --stdin <"$a" ||
|
||||
die "Cannot unstage modified files"
|
||||
die "$(gettext "Cannot unstage modified files")"
|
||||
rm -f "$a"
|
||||
fi
|
||||
squelch=
|
||||
@ -389,7 +410,10 @@ apply_stash () {
|
||||
status=$?
|
||||
if test -n "$INDEX_OPTION"
|
||||
then
|
||||
echo >&2 'Index was not unstashed.'
|
||||
(
|
||||
gettext "Index was not unstashed." &&
|
||||
echo
|
||||
) >&2
|
||||
fi
|
||||
exit $status
|
||||
fi
|
||||
@ -406,14 +430,15 @@ drop_stash () {
|
||||
assert_stash_ref "$@"
|
||||
|
||||
git reflog delete --updateref --rewrite "${REV}" &&
|
||||
say "Dropped ${REV} ($s)" || die "${REV}: Could not drop stash entry"
|
||||
say "$(eval_gettext "Dropped \${REV} (\$s)")" ||
|
||||
die "$(eval_gettext "\${REV}: Could not drop stash entry")"
|
||||
|
||||
# clear_stash if we just dropped the last stash entry
|
||||
git rev-parse --verify "$ref_stash@{0}" > /dev/null 2>&1 || clear_stash
|
||||
}
|
||||
|
||||
apply_to_branch () {
|
||||
test -n "$1" || die 'No branch name specified'
|
||||
test -n "$1" || die "$(gettext "No branch name specified")"
|
||||
branch=$1
|
||||
shift 1
|
||||
|
||||
@ -484,7 +509,7 @@ branch)
|
||||
case $# in
|
||||
0)
|
||||
save_stash &&
|
||||
say '(To restore them type "git stash apply")'
|
||||
say "$(gettext "(To restore them type \"git stash apply\")")"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
|
@ -14,6 +14,7 @@ USAGE="[--quiet] add [-b branch] [-f|--force] [--reference <repository>] [--] <r
|
||||
or: $dashless [--quiet] sync [--] [<path>...]"
|
||||
OPTIONS_SPEC=
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
. git-parse-remote
|
||||
require_work_tree
|
||||
|
||||
@ -34,7 +35,7 @@ resolve_relative_url ()
|
||||
{
|
||||
remote=$(get_default_remote)
|
||||
remoteurl=$(git config "remote.$remote.url") ||
|
||||
die "remote ($remote) does not have a url defined in .git/config"
|
||||
die "$(eval_gettext "remote (\$remote) does not have a url defined in .git/config")"
|
||||
url="$1"
|
||||
remoteurl=${remoteurl%/}
|
||||
sep=/
|
||||
@ -52,7 +53,7 @@ resolve_relative_url ()
|
||||
sep=:
|
||||
;;
|
||||
*)
|
||||
die "cannot strip one component off url '$remoteurl'"
|
||||
die "$(eval_gettext "cannot strip one component off url '\$remoteurl'")"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -104,7 +105,7 @@ module_name()
|
||||
name=$( git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
|
||||
sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' )
|
||||
test -z "$name" &&
|
||||
die "No submodule mapping found in .gitmodules for path '$path'"
|
||||
die "$(eval_gettext "No submodule mapping found in .gitmodules for path '\$path'")"
|
||||
echo "$name"
|
||||
}
|
||||
|
||||
@ -128,7 +129,7 @@ module_clone()
|
||||
else
|
||||
git-clone -n "$url" "$path"
|
||||
fi ||
|
||||
die "Clone of '$url' into submodule path '$path' failed"
|
||||
die "$(eval_gettext "Clone of '\$url' into submodule path '\$path' failed")"
|
||||
}
|
||||
|
||||
#
|
||||
@ -201,7 +202,7 @@ cmd_add()
|
||||
realrepo=$repo
|
||||
;;
|
||||
*)
|
||||
die "repo URL: '$repo' must be absolute or begin with ./|../"
|
||||
die "$(eval_gettext "repo URL: '\$repo' must be absolute or begin with ./|../")"
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -218,13 +219,16 @@ cmd_add()
|
||||
s|/*$||
|
||||
')
|
||||
git ls-files --error-unmatch "$path" > /dev/null 2>&1 &&
|
||||
die "'$path' already exists in the index"
|
||||
die "$(eval_gettext "'\$path' already exists in the index")"
|
||||
|
||||
if test -z "$force" && ! git add --dry-run --ignore-missing "$path" > /dev/null 2>&1
|
||||
then
|
||||
echo >&2 "The following path is ignored by one of your .gitignore files:" &&
|
||||
echo >&2 $path &&
|
||||
echo >&2 "Use -f if you really want to add it."
|
||||
(
|
||||
eval_gettext "The following path is ignored by one of your .gitignore files:
|
||||
\$path
|
||||
Use -f if you really want to add it." &&
|
||||
echo
|
||||
) >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -233,9 +237,9 @@ cmd_add()
|
||||
then
|
||||
if test -d "$path"/.git -o -f "$path"/.git
|
||||
then
|
||||
echo "Adding existing repo at '$path' to the index"
|
||||
eval_gettext "Adding existing repo at '\$path' to the index"; echo
|
||||
else
|
||||
die "'$path' already exists and is not a valid git repo"
|
||||
die "$(eval_gettext "'\$path' already exists and is not a valid git repo")"
|
||||
fi
|
||||
|
||||
case "$repo" in
|
||||
@ -258,16 +262,16 @@ cmd_add()
|
||||
'') git checkout -f -q ;;
|
||||
?*) git checkout -f -q -B "$branch" "origin/$branch" ;;
|
||||
esac
|
||||
) || die "Unable to checkout submodule '$path'"
|
||||
) || die "$(eval_gettext "Unable to checkout submodule '\$path'")"
|
||||
fi
|
||||
|
||||
git add $force "$path" ||
|
||||
die "Failed to add submodule '$path'"
|
||||
die "$(eval_gettext "Failed to add submodule '\$path'")"
|
||||
|
||||
git config -f .gitmodules submodule."$path".path "$path" &&
|
||||
git config -f .gitmodules submodule."$path".url "$repo" &&
|
||||
git add --force .gitmodules ||
|
||||
die "Failed to register submodule '$path'"
|
||||
die "$(eval_gettext "Failed to register submodule '\$path'")"
|
||||
}
|
||||
|
||||
#
|
||||
@ -305,7 +309,7 @@ cmd_foreach()
|
||||
do
|
||||
if test -e "$path"/.git
|
||||
then
|
||||
say "Entering '$prefix$path'"
|
||||
say "$(eval_gettext "Entering '\$prefix\$path'")"
|
||||
name=$(module_name "$path")
|
||||
(
|
||||
prefix="$prefix$path/"
|
||||
@ -317,7 +321,7 @@ cmd_foreach()
|
||||
cmd_foreach "--recursive" "$@"
|
||||
fi
|
||||
) ||
|
||||
die "Stopping at '$path'; script returned non-zero status."
|
||||
die "$(eval_gettext "Stopping at '\$path'; script returned non-zero status.")"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -360,7 +364,7 @@ cmd_init()
|
||||
|
||||
url=$(git config -f .gitmodules submodule."$name".url)
|
||||
test -z "$url" &&
|
||||
die "No url found for submodule path '$path' in .gitmodules"
|
||||
die "$(eval_gettext "No url found for submodule path '\$path' in .gitmodules")"
|
||||
|
||||
# Possibly a url relative to parent
|
||||
case "$url" in
|
||||
@ -370,14 +374,14 @@ cmd_init()
|
||||
esac
|
||||
|
||||
git config submodule."$name".url "$url" ||
|
||||
die "Failed to register url for submodule path '$path'"
|
||||
die "$(eval_gettext "Failed to register url for submodule path '\$path'")"
|
||||
|
||||
upd="$(git config -f .gitmodules submodule."$name".update)"
|
||||
test -z "$upd" ||
|
||||
git config submodule."$name".update "$upd" ||
|
||||
die "Failed to register update mode for submodule path '$path'"
|
||||
die "$(eval_gettext "Failed to register update mode for submodule path '\$path'")"
|
||||
|
||||
say "Submodule '$name' ($url) registered for path '$path'"
|
||||
say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$path'")"
|
||||
done
|
||||
}
|
||||
|
||||
@ -460,8 +464,8 @@ cmd_update()
|
||||
# Only mention uninitialized submodules when its
|
||||
# path have been specified
|
||||
test "$#" != "0" &&
|
||||
say "Submodule path '$path' not initialized" &&
|
||||
say "Maybe you want to use 'update --init'?"
|
||||
say "$(eval_gettext "Submodule path '\$path' not initialized
|
||||
Maybe you want to use 'update --init'?")"
|
||||
continue
|
||||
fi
|
||||
|
||||
@ -473,7 +477,7 @@ cmd_update()
|
||||
else
|
||||
subsha1=$(clear_local_git_env; cd "$path" &&
|
||||
git rev-parse --verify HEAD) ||
|
||||
die "Unable to find current revision in submodule path '$path'"
|
||||
die "$(eval_gettext "Unable to find current revision in submodule path '\$path'")"
|
||||
fi
|
||||
|
||||
if ! test -z "$update"
|
||||
@ -497,7 +501,7 @@ cmd_update()
|
||||
(clear_local_git_env; cd "$path" &&
|
||||
( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) &&
|
||||
test -z "$rev") || git-fetch)) ||
|
||||
die "Unable to fetch in submodule path '$path'"
|
||||
die "$(eval_gettext "Unable to fetch in submodule path '\$path'")"
|
||||
fi
|
||||
|
||||
# Is this something we just cloned?
|
||||
@ -510,30 +514,29 @@ cmd_update()
|
||||
case "$update_module" in
|
||||
rebase)
|
||||
command="git rebase"
|
||||
action="rebase"
|
||||
msg="rebased onto"
|
||||
die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$path': rebased into '\$sha1'")"
|
||||
;;
|
||||
merge)
|
||||
command="git merge"
|
||||
action="merge"
|
||||
msg="merged in"
|
||||
die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$path': merged in '\$sha1'")"
|
||||
;;
|
||||
*)
|
||||
command="git checkout $subforce -q"
|
||||
action="checkout"
|
||||
msg="checked out"
|
||||
die_msg="$(eval_gettext "Unable to checkout '\$sha1' in submodule path '\$path'")"
|
||||
say_msg="$(eval_gettext "Submodule path '\$path': checked out '\$sha1'")"
|
||||
;;
|
||||
esac
|
||||
|
||||
(clear_local_git_env; cd "$path" && $command "$sha1") ||
|
||||
die "Unable to $action '$sha1' in submodule path '$path'"
|
||||
say "Submodule path '$path': $msg '$sha1'"
|
||||
(clear_local_git_env; cd "$path" && $command "$sha1") || die $die_msg
|
||||
say $say_msg
|
||||
fi
|
||||
|
||||
if test -n "$recursive"
|
||||
then
|
||||
(clear_local_git_env; cd "$path" && eval cmd_update "$orig_flags") ||
|
||||
die "Failed to recurse into submodule path '$path'"
|
||||
die "$(eval_gettext "Failed to recurse into submodule path '\$path'")"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -617,7 +620,7 @@ cmd_summary() {
|
||||
if [ -n "$files" ]
|
||||
then
|
||||
test -n "$cached" &&
|
||||
die "--cached cannot be used with --files"
|
||||
die "$(gettext -- "--cached cannot be used with --files")"
|
||||
diff_cmd=diff-files
|
||||
head=
|
||||
fi
|
||||
@ -657,7 +660,10 @@ cmd_summary() {
|
||||
;; # removed
|
||||
*)
|
||||
# unexpected type
|
||||
echo >&2 "unexpected mode $mod_dst"
|
||||
(
|
||||
eval_gettext "unexpected mode \$mod_dst" &&
|
||||
echo
|
||||
) >&2
|
||||
continue ;;
|
||||
esac
|
||||
fi
|
||||
@ -675,13 +681,13 @@ cmd_summary() {
|
||||
total_commits=
|
||||
case "$missing_src,$missing_dst" in
|
||||
t,)
|
||||
errmsg=" Warn: $name doesn't contain commit $sha1_src"
|
||||
errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_src")"
|
||||
;;
|
||||
,t)
|
||||
errmsg=" Warn: $name doesn't contain commit $sha1_dst"
|
||||
errmsg="$(eval_gettext " Warn: \$name doesn't contain commit \$sha1_dst")"
|
||||
;;
|
||||
t,t)
|
||||
errmsg=" Warn: $name doesn't contain commits $sha1_src and $sha1_dst"
|
||||
errmsg="$(eval_gettext " Warn: \$name doesn't contain commits \$sha1_src and \$sha1_dst")"
|
||||
;;
|
||||
*)
|
||||
errmsg=
|
||||
@ -706,11 +712,13 @@ cmd_summary() {
|
||||
sha1_abbr_dst=$(echo $sha1_dst | cut -c1-7)
|
||||
if test $status = T
|
||||
then
|
||||
blob="$(gettext "blob")"
|
||||
submodule="$(gettext "submodule")"
|
||||
if test $mod_dst = 160000
|
||||
then
|
||||
echo "* $name $sha1_abbr_src(blob)->$sha1_abbr_dst(submodule)$total_commits:"
|
||||
echo "* $name $sha1_abbr_src($blob)->$sha1_abbr_dst($submodule)$total_commits:"
|
||||
else
|
||||
echo "* $name $sha1_abbr_src(submodule)->$sha1_abbr_dst(blob)$total_commits:"
|
||||
echo "* $name $sha1_abbr_src($submodule)->$sha1_abbr_dst($blob)$total_commits:"
|
||||
fi
|
||||
else
|
||||
echo "* $name $sha1_abbr_src...$sha1_abbr_dst$total_commits:"
|
||||
@ -742,9 +750,9 @@ cmd_summary() {
|
||||
done |
|
||||
if test -n "$for_status"; then
|
||||
if [ -n "$files" ]; then
|
||||
echo "# Submodules changed but not updated:"
|
||||
gettext "# Submodules changed but not updated:"; echo
|
||||
else
|
||||
echo "# Submodule changes to be committed:"
|
||||
gettext "# Submodule changes to be committed:"; echo
|
||||
fi
|
||||
echo "#"
|
||||
sed -e 's|^|# |' -e 's|^# $|#|'
|
||||
@ -830,7 +838,7 @@ cmd_status()
|
||||
cd "$path" &&
|
||||
eval cmd_status "$orig_args"
|
||||
) ||
|
||||
die "Failed to recurse into submodule path '$path'"
|
||||
die "$(eval_gettext "Failed to recurse into submodule path '\$path'")"
|
||||
fi
|
||||
done
|
||||
}
|
||||
@ -874,7 +882,7 @@ cmd_sync()
|
||||
;;
|
||||
esac
|
||||
|
||||
say "Synchronizing submodule url for '$name'"
|
||||
say "$(eval_gettext "Synchronizing submodule url for '\$name'")"
|
||||
git config submodule."$name".url "$url"
|
||||
|
||||
if test -e "$path"/.git
|
||||
|
@ -465,7 +465,7 @@ test_expect_success 'am newline in subject' '
|
||||
test_tick &&
|
||||
sed -e "s/second/second \\\n foo/" patch1 >patchnl &&
|
||||
git am <patchnl >output.out 2>&1 &&
|
||||
grep "^Applying: second \\\n foo$" output.out
|
||||
test_i18ngrep "^Applying: second \\\n foo$" output.out
|
||||
'
|
||||
|
||||
test_expect_success 'am -q is quiet' '
|
||||
|
@ -45,8 +45,9 @@ do
|
||||
|
||||
test_expect_success "am$with3 --skip continue after failed am$with3" '
|
||||
test_must_fail git am$with3 --skip >output &&
|
||||
test "$(grep "^Applying" output)" = "Applying: 6" &&
|
||||
test_cmp file-2-expect file-2 &&
|
||||
test_i18ngrep "^Applying" output >output.applying &&
|
||||
test_i18ngrep "^Applying: 6$" output.applying &&
|
||||
test_i18ncmp file-2-expect file-2 &&
|
||||
test ! -f .git/MERGE_RR
|
||||
'
|
||||
|
||||
|
@ -99,7 +99,7 @@ test_expect_success 'submodule add to .gitignored path fails' '
|
||||
git add --force .gitignore &&
|
||||
git commit -m"Ignore everything" &&
|
||||
! git submodule add "$submodurl" submod >actual 2>&1 &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
)
|
||||
'
|
||||
|
||||
@ -357,7 +357,7 @@ test_expect_success 'update --init' '
|
||||
|
||||
git submodule update init > update.out &&
|
||||
cat update.out &&
|
||||
grep "not initialized" update.out &&
|
||||
test_i18ngrep "not initialized" update.out &&
|
||||
! test -d init/.git &&
|
||||
|
||||
git submodule update --init init &&
|
||||
|
@ -128,7 +128,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --cached' "
|
||||
< Add foo5
|
||||
|
||||
EOF
|
||||
test_cmp actual expected
|
||||
test_i18ncmp actual expected
|
||||
"
|
||||
|
||||
test_expect_success 'typechanged submodule(submodule->blob), --files' "
|
||||
@ -138,7 +138,7 @@ test_expect_success 'typechanged submodule(submodule->blob), --files' "
|
||||
> Add foo5
|
||||
|
||||
EOF
|
||||
test_cmp actual expected
|
||||
test_i18ncmp actual expected
|
||||
"
|
||||
|
||||
rm -rf sm1 &&
|
||||
@ -149,7 +149,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' "
|
||||
* sm1 $head4(submodule)->$head5(blob):
|
||||
|
||||
EOF
|
||||
test_cmp actual expected
|
||||
test_i18ncmp actual expected
|
||||
"
|
||||
|
||||
rm -f sm1 &&
|
||||
@ -162,7 +162,7 @@ test_expect_success 'nonexistent commit' "
|
||||
Warn: sm1 doesn't contain commit $head4_full
|
||||
|
||||
EOF
|
||||
test_cmp actual expected
|
||||
test_i18ncmp actual expected
|
||||
"
|
||||
|
||||
commit_file
|
||||
@ -173,7 +173,7 @@ test_expect_success 'typechanged submodule(blob->submodule)' "
|
||||
> Add foo7
|
||||
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
"
|
||||
|
||||
commit_file sm1 &&
|
||||
@ -228,7 +228,7 @@ EOF
|
||||
|
||||
test_expect_success '--for-status' "
|
||||
git submodule summary --for-status HEAD^ >actual &&
|
||||
test_cmp actual - <<EOF
|
||||
test_i18ncmp actual - <<EOF
|
||||
# Submodule changes to be committed:
|
||||
#
|
||||
# * sm1 $head6...0000000:
|
||||
|
@ -90,7 +90,7 @@ test_expect_success 'submodule update does not fetch already present commits' '
|
||||
(cd super &&
|
||||
git submodule update > ../actual 2> ../actual.err
|
||||
) &&
|
||||
test_cmp expected actual &&
|
||||
test_i18ncmp expected actual &&
|
||||
! test -s actual.err
|
||||
'
|
||||
|
||||
|
@ -77,7 +77,7 @@ test_expect_success 'test basic "submodule foreach" usage' '
|
||||
git config foo.bar zar &&
|
||||
git submodule foreach "git config --file \"\$toplevel/.git/config\" foo.bar"
|
||||
) &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'setup nested submodules' '
|
||||
@ -158,7 +158,7 @@ test_expect_success 'test messages from "foreach --recursive"' '
|
||||
cd clone2 &&
|
||||
git submodule foreach --recursive "true" > ../actual
|
||||
) &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
cat > expect <<EOF
|
||||
|
Loading…
Reference in New Issue
Block a user