Message ID | 20241220125837.2774153-1-karthik.188@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8ddcdc1bb33ccf803461dd2365146f9341bf9312 |
Headers | show |
Series | refs: mark invalid refname message for translation | expand |
Karthik Nayak <karthik.188@gmail.com> writes: > The error message produced by `transaction_refname_valid()` changes based > on whether the update is a ref update or a reflog update, with the use > of a ternary operator. This breaks translation since the sub-msg is not > marked for translation. Fix this by setting the entire message using a > `if {} else {}` block and marking each message for translation. > > Signed-off-by: Karthik Nayak <karthik.188@gmail.com> > --- > > Since the reflog migration topic has been merged to 'next', I am sending this > as an individual patch which applies on top of 'kn/reflog-migration'. Thanks, that is the most sensible way to fix up a glitch that was discovered too late ;-) Will queue.
diff --git a/refs.c b/refs.c index 58e543ce39..9c887427f2 100644 --- a/refs.c +++ b/refs.c @@ -1255,14 +1255,22 @@ static int transaction_refname_valid(const char *refname, return 1; if (is_pseudo_ref(refname)) { - const char *what = flags & REF_LOG_ONLY ? "reflog for pseudoref" : "pseudoref"; - strbuf_addf(err, _("refusing to update %s '%s'"), what, refname); + const char *refusal_msg; + if (flags & REF_LOG_ONLY) + refusal_msg = _("refusing to update reflog for pseudoref '%s'"); + else + refusal_msg = _("refusing to update pseudoref '%s'"); + strbuf_addf(err, refusal_msg, refname); return 0; } else if ((new_oid && !is_null_oid(new_oid)) ? check_refname_format(refname, REFNAME_ALLOW_ONELEVEL) : !refname_is_safe(refname)) { - const char *what = flags & REF_LOG_ONLY ? "reflog with bad name" : "ref with bad name"; - strbuf_addf(err, _("refusing to update %s '%s'"), what, refname); + const char *refusal_msg; + if (flags & REF_LOG_ONLY) + refusal_msg = _("refusing to update reflog with bad name '%s'"); + else + refusal_msg = _("refusing to update ref with bad name '%s'"); + strbuf_addf(err, refusal_msg, refname); return 0; }
The error message produced by `transaction_refname_valid()` changes based on whether the update is a ref update or a reflog update, with the use of a ternary operator. This breaks translation since the sub-msg is not marked for translation. Fix this by setting the entire message using a `if {} else {}` block and marking each message for translation. Signed-off-by: Karthik Nayak <karthik.188@gmail.com> --- Since the reflog migration topic has been merged to 'next', I am sending this as an individual patch which applies on top of 'kn/reflog-migration'. Junio, I'd also be happy to re-roll the series if that is better. refs.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)