# [PATCH] git-status: make porcelain more robust

3 messages from 2017-03-14 to 2017-03-15. Participants: Michael J Gruber, Junio C Hamano, Matthieu Moy.
Thread: https://gitlist.dev/t/45374

## Michael J Gruber, 2017-03-14 16:02

Subject: [PATCH] git-status: make porcelain more robust
Message-ID: <54df68bd46f7a417e77eb71b636f6f7afd4fce75.1489507239.git.git@drmicha.warpmail.net>
URL: https://gitlist.dev/e/54df68bd46f7a417e77eb71b636f6f7afd4fce75.1489507239.git.git%40drmicha.warpmail.net

```
git status provides a porcelain mode for porcelain writers with a
supposedly stable (plumbing) interface.
7a76c28ff2 ("status: disable translation when --porcelain is used", 2014-03-20)
made sure that ahead/behind info is not translated (i.e. is stable).

Make sure that the remaining two strings (initial commit, detached head)
are stable, too.

These changes are for the v1 porcelain interface. While we do have a perfectly
stable v2 porcelain interface now, some tools (such as
powerline-gitstatus) are written against v1 and profit from fixing v1
without any changes on their side.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
 wt-status.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/wt-status.c b/wt-status.c
index d47012048f..234e77a6d6 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1730,12 +1730,14 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
 		return;
 	branch_name = s->branch;
 
+#define LABEL(string) (s->no_gettext ? (string) : _(string))
+
 	if (s->is_initial)
-		color_fprintf(s->fp, header_color, _("Initial commit on "));
+		color_fprintf(s->fp, header_color, LABEL(N_("Initial commit on ")));
 
 	if (!strcmp(s->branch, "HEAD")) {
 		color_fprintf(s->fp, color(WT_STATUS_NOBRANCH, s), "%s",
-			      _("HEAD (no branch)"));
+			      LABEL(N_("HEAD (no branch)")));
 		goto conclude;
 	}
 
@@ -1760,8 +1762,6 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
 	if (!upstream_is_gone && !num_ours && !num_theirs)
 		goto conclude;
 
-#define LABEL(string) (s->no_gettext ? (string) : _(string))
-
 	color_fprintf(s->fp, header_color, " [");
 	if (upstream_is_gone) {
 		color_fprintf(s->fp, header_color, LABEL(N_("gone")));
-- 
2.12.0.384.g157040b11f.dirty


```

## Junio C Hamano, 2017-03-14 22:05

Subject: Re: [PATCH] git-status: make porcelain more robust
Message-ID: <xmqq8to7h5tr.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqq8to7h5tr.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <54df68bd46f7a417e77eb71b636f6f7afd4fce75.1489507239.git.git@drmicha.warpmail.net>

```
Michael J Gruber <git@drmicha.warpmail.net> writes:

> git status provides a porcelain mode for porcelain writers with a
> supposedly stable (plumbing) interface.
> 7a76c28ff2 ("status: disable translation when --porcelain is used", 2014-03-20)
> made sure that ahead/behind info is not translated (i.e. is stable).
>
> Make sure that the remaining two strings (initial commit, detached head)
> are stable, too.

It seems to me that 7a76c28ff2 already missed these strings, and
their _() markings survive to this day.  Thanks for spotting and
fixing.

```

## Matthieu Moy, 2017-03-15 07:13

Subject: Re: [PATCH] git-status: make porcelain more robust
Message-ID: <vpqvarbau7y.fsf@anie.imag.fr>
URL: https://gitlist.dev/e/vpqvarbau7y.fsf%40anie.imag.fr
In-Reply-To: <xmqq8to7h5tr.fsf@gitster.mtv.corp.google.com>

```
Junio C Hamano <gitster@pobox.com> writes:

> Michael J Gruber <git@drmicha.warpmail.net> writes:
>
>> git status provides a porcelain mode for porcelain writers with a
>> supposedly stable (plumbing) interface.
>> 7a76c28ff2 ("status: disable translation when --porcelain is used", 2014-03-20)
>> made sure that ahead/behind info is not translated (i.e. is stable).
>>
>> Make sure that the remaining two strings (initial commit, detached head)
>> are stable, too.
>
> It seems to me that 7a76c28ff2 already missed these strings, and
> their _() markings survive to this day.  Thanks for spotting and
> fixing.

Yep, sounds all right to me. Thanks,

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

```
