Internationalize git-request-pull.
The use case is when sending pull request message to developer mailing
lists that accepts contributions in non-English languages (for example
"foo-dev-it" for Foo developer list in Italian).
The first patch is small preparation to make translatable strings can be
marked as such, while the second patch is actual marking.
Bagas Sanjaya (2):
request-pull: simplify "remote or HEAD" variable in warning messages
request-pull: mark translatable strings
git-request-pull.sh | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
base-commit: 4c719308ce59dc70e606f910f40801f2c6051b24
--
2.25.1
In order for waring message "Are you sure you pushed 'remote or HEAD'
there?" to be translatable, replace ${remote:-HEAD} (variable access
with defaults) in the message by referring it as $remote_or_head.
Cc: Ryan Anderson <redacted>
Cc: pbonzini@redhat.com
Signed-off-by: Bagas Sanjaya <redacted>
---
git-request-pull.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
@@ -116,15 +116,17 @@ set fnord $(git ls-remote "$url" | @@PERL@@ -e "$find_matching_ref" "${remote:-Hremote_sha1=$2ref=$3+remote_or_head=${remote:-HEAD}+iftest-z"$ref"thenecho"warn: No match for commit $headrev found at $url">&2-echo"warn: Are you sure you pushed '${remote:-HEAD}' there?">&2+echo"warn: Are you sure you pushed '$remote_or_head' there?">&2status=1eliftest"$local_sha1"!="$remote_sha1"thenecho"warn: $head found at $url but points to a different object">&2-echo"warn: Are you sure you pushed '${remote:-HEAD}' there?">&2+echo"warn: Are you sure you pushed '$remote_or_head' there?">&2status=1fi
@@ -40,7 +40,7 @@ test -n "$base" && test -n "$url" || usagebaserev=$(gitrev-parse--verify--quiet"$base"^0)iftest-z"$baserev"then-die"fatal: Not a valid revision: $base"+die"$(eval_gettext"fatal: Not a valid revision: \$base")"fi#
@@ -58,12 +58,12 @@ head=${head:-$(git show-ref --heads --tags "$local" | cut -d' ' -f2)}head=${head:-$(gitrev-parse--quiet--verify"$local")}# None of the above? Bad.-test-z"$head"&&die"fatal: Not a valid revision: $local"+test-z"$head"&&die"$(eval_gettext"fatal: Not a valid revision: \$local")"# This also verifies that the resulting head is unique:# "git show-ref" could have shown multiple matching refs..headrev=$(gitrev-parse--verify--quiet"$head"^0)-test-z"$headrev"&&die"fatal: Ambiguous revision: $local"+test-z"$headrev"&&die"$(eval_gettext"fatal: Ambiguous revision: \$local")"local_sha1=$(gitrev-parse--verify--quiet"$head")
@@ -76,7 +76,7 @@ thenfimerge_base=$(gitmerge-base$baserev$headrev)||-die"fatal: No commits in common between $base and $head"+die"$(eval_gettext"fatal: No commits in common between \$base and \$head")"# $head is the refname from the command line.# Find a ref with the same name as $head that exists at the remote
@@ -120,13 +120,13 @@ remote_or_head=${remote:-HEAD}iftest-z"$ref"then-echo"warn: No match for commit $headrev found at $url">&2-echo"warn: Are you sure you pushed '$remote_or_head' there?">&2+echo"$(eval_gettext"warn: No match for commit \$headrev found at \$url")">&2+echo"$(eval_gettext"warn: Are you sure you pushed '\$remote_or_head' there?")">&2status=1eliftest"$local_sha1"!="$remote_sha1"then-echo"warn: $head found at $url but points to a different object">&2-echo"warn: Are you sure you pushed '$remote_or_head' there?">&2+echo"$(eval_gettext"warn: \$head found at \$url but points to a different object")">&2+echo"$(eval_gettext"warn: Are you sure you pushed '\$remote_or_head' there?")">&2status=1fi
@@ -162,7 +165,7 @@ fi &&iftest-n"$branch_name"then-echo"(from the branch description for $branch_name local branch)"+echo"$(eval_gettext"(from the branch description for \$branch_name local branch)")"echogitconfig"branch.$branch_name.description"echo"----------------------------------------------------------------"
@@ -40,7 +40,7 @@ test -n "$base" && test -n "$url" || usagebaserev=$(gitrev-parse--verify--quiet"$base"^0)iftest-z"$baserev"then-die"fatal: Not a valid revision: $base"+die"$(eval_gettext"fatal: Not a valid revision: \$base")"fi#
@@ -58,12 +58,12 @@ head=${head:-$(git show-ref --heads --tags "$local" | cut -d' ' -f2)}head=${head:-$(gitrev-parse--quiet--verify"$local")}# None of the above? Bad.-test-z"$head"&&die"fatal: Not a valid revision: $local"+test-z"$head"&&die"$(eval_gettext"fatal: Not a valid revision: \$local")"# This also verifies that the resulting head is unique:# "git show-ref" could have shown multiple matching refs..headrev=$(gitrev-parse--verify--quiet"$head"^0)-test-z"$headrev"&&die"fatal: Ambiguous revision: $local"+test-z"$headrev"&&die"$(eval_gettext"fatal: Ambiguous revision: \$local")"local_sha1=$(gitrev-parse--verify--quiet"$head")
@@ -76,7 +76,7 @@ thenfimerge_base=$(gitmerge-base$baserev$headrev)||-die"fatal: No commits in common between $base and $head"+die"$(eval_gettext"fatal: No commits in common between \$base and \$head")"
Looks good.
quoted hunk
# $head is the refname from the command line.
# Find a ref with the same name as $head that exists at the remote
@@ -120,13 +120,13 @@ remote_or_head=${remote:-HEAD} if test -z "$ref" then- echo "warn: No match for commit $headrev found at $url" >&2- echo "warn: Are you sure you pushed '$remote_or_head' there?" >&2+ echo "$(eval_gettext "warn: No match for commit \$headrev found at \$url")" >&2+ echo "$(eval_gettext "warn: Are you sure you pushed '\$remote_or_head' there?")" >&2 status=1 elif test "$local_sha1" != "$remote_sha1" then- echo "warn: $head found at $url but points to a different object" >&2- echo "warn: Are you sure you pushed '$remote_or_head' there?" >&2+ echo "$(eval_gettext "warn: \$head found at \$url but points to a different object")" >&2+ echo "$(eval_gettext "warn: Are you sure you pushed '\$remote_or_head' there?")" >&2 status=1 fi
Messages like these should probably be combined into one this one's
mostly on the edge, but the "are you sure" reads like a continuation of
the "no match for" or "$head found at" sentence, so translators may want
to re-orderthat wording...
quoted hunk
@@ -138,19 +138,22 @@ fi url=$(git ls-remote --get-url "$url")-git show -s --format='The following changes since commit %H:+git show -s --format="+$(gettext 'The following changes since commit %H:
The newline added at the start here looks like a bug or unrelated
change.
%s (%ci)
are available in the Git repository at:
-' $merge_base &&
+')
+" $merge_base &&
And this likewise looks like an unrelated formatting change.
echo " $url $pretty_remote" &&
-git show -s --format='
+git show -s --format="
+$(gettext '
And likewise here maybe we want to include the first \n?
quoted hunk
for you to fetch changes up to %H:
%s (%ci)
-----------------------------------------------------------------' $headrev &&
+----------------------------------------------------------------')" $headrev &&
if test $(git cat-file -t "$head") = tag
then
@@ -162,7 +165,7 @@ fi && if test -n "$branch_name" then- echo "(from the branch description for $branch_name local branch)"+ echo "$(eval_gettext "(from the branch description for \$branch_name local branch)")" echo git config "branch.$branch_name.description" echo "----------------------------------------------------------------"
From: Paolo Bonzini <pbonzini@redhat.com> Date: 2021-09-16 13:09:47
On 16/09/21 13:35, Bagas Sanjaya wrote:
In order for waring message "Are you sure you pushed 'remote or HEAD'
^^^^^^
warning
Otherwise,
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
quoted hunk
there?" to be translatable, replace ${remote:-HEAD} (variable access
with defaults) in the message by referring it as $remote_or_head.
Cc: Ryan Anderson <redacted>
Cc: pbonzini@redhat.com
Signed-off-by: Bagas Sanjaya <redacted>
---
git-request-pull.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
@@ -116,15 +116,17 @@ set fnord $(git ls-remote "$url" | @@PERL@@ -e "$find_matching_ref" "${remote:-Hremote_sha1=$2ref=$3+remote_or_head=${remote:-HEAD}+iftest-z"$ref"thenecho"warn: No match for commit $headrev found at $url">&2-echo"warn: Are you sure you pushed '${remote:-HEAD}' there?">&2+echo"warn: Are you sure you pushed '$remote_or_head' there?">&2status=1eliftest"$local_sha1"!="$remote_sha1"thenecho"warn: $head found at $url but points to a different object">&2-echo"warn: Are you sure you pushed '${remote:-HEAD}' there?">&2+echo"warn: Are you sure you pushed '$remote_or_head' there?">&2status=1fi
From: Đoàn Trần Công Danh <hidden> Date: 2021-09-16 13:44:33
Beside the problems pointed out by Ævar:
On 2021-09-16 18:35:17+0700, Bagas Sanjaya [off-list ref] wrote:
Mark user-faced strings as translatable (including PR message output).
I would argue request-pull message shouldn't be translated.
The person who creates the request may prefer to use a different
language, let's say French, for day-to-day work.
However, the recipients may not understand French, and prefer to
receive English message.
And this change break their workflow badly.
quoted hunk
@@ -138,19 +138,22 @@ fi url=$(git ls-remote --get-url "$url")-git show -s --format='The following changes since commit %H:+git show -s --format="+$(gettext 'The following changes since commit %H: %s (%ci) are available in the Git repository at:-' $merge_base &&+')
Hence, I think this message shouldn't be translated.
+" $merge_base &&
echo " $url $pretty_remote" &&
-git show -s --format='
+git show -s --format="
+$(gettext '
for you to fetch changes up to %H:
%s (%ci)
And neither should this message.
quoted hunk
-----------------------------------------------------------------' $headrev &&
+----------------------------------------------------------------')" $headrev &&
if test $(git cat-file -t "$head") = tag
then
@@ -162,7 +165,7 @@ fi && if test -n "$branch_name" then- echo "(from the branch description for $branch_name local branch)"+ echo "$(eval_gettext "(from the branch description for \$branch_name local branch)")" echo git config "branch.$branch_name.description" echo "----------------------------------------------------------------"