git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] Git v2.8.0-rc2

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Mar 17, 2016, 14:51 UTC
Message-ID
<56EAC47F.6000708@drmicha.warpmail.net>
In-Reply-To
<xmqqmvpy5qru.fsf@gitster.mtv.corp.google.com>
Junio C Hamano venit, vidit, dixit 16.03.2016 17:30:
Show 17 quoted lines
> Michael J Gruber <git@drmicha.warpmail.net> writes:
> 
>> echo '*.po diff=po' >>.gitattributes
>> echo '*.pot diff=po' >>.gitattributes
>> git config diff.po.textconv "msgcat --indent --no-location"
>>
>> With or without the indent, that gives a pretty clean diff. [It's
>> unfortunate that one half of that config is in-tree, one-half is not.]
> 
> That's a good tip. [By the way, it is not unfortunate that these are
> separated to two places, but quite the opposite.  Attributes define
> "what kind of things" they are, and configuration defines "how" each
> kind of things are handled.  "msgcat" may have to be invoked
> differently from yours on other people's systems, and one level of
> indirection is a reasonable way to allow customizing "how" part
> without forcing people to rewrite all of THIS in "for *.po do THIS,
> for *.pot do THIS too".  You should be thankful for this separation.]

I know why we have that. It's just unfortunate that we can't even provide a default textconfig config easily - I know very well we can't have that securely.

"Unfortunate" is meant in this context in the sense: I want to make it easy and convenient for non-l10n-people to watch out for l10-affecting changes.

Show 8 quoted lines
>> So, really, the "actual coders" know best whether their changes should
>> affect l10n or not, so they should be made more aware of it. Forcing
>> "make pot" (and maybe more) on everyone sounds a bit harsh, but what
>> else can we do?
> 
> I am not sure what problem you are trying to solve.  Do you want to
> make sure mismarking such as N_(("foo")) is caught by the person who
> changes "foo" into N_(("foo"))?
Yes. That and similar ones.
Show 9 quoted lines
> "make pot" alone would obviously not help, and you would definitely
> need "maybe more" but I'd imagine that would involve checking the
> diff in the code part i.e. "we have a new N_(...)" against the
> differences in git.pot files you would obtain by running "make pot"
> before the code change and after the code change, i.e. "there is no
> new mention of "foo"".
> 
> I do not think you are suggesting to commit the result of "make pot"
> along with code changes, but if you are, please don't ;-)

As I said: I assume there's a good reason we don't do that, and that's why I'm not suggesting it.

On the other hand, it means that the in-tree git.pot does not correlate with the in-tree source code at all, which feels really weird[*]. And it makes it difficult to check the impact of your code changes: You can't simply run "make pot" and check the diff - because the in-tree git.pot does not reflect the state before your changes at all.

[*] It just feels wrong to me that a "make pot" in a clean checkout leads to dirty index.

So, in short, I do believe there is a good reason for the "out of sync" git.pot. That doesn't make the negative side effect that I describe any less true, and I'm looking for ways to ammeliorate that. Something as easy as "make check" or "make test-lint".

Michael
Previous: Junio C HamanoNext: Michael J Gruber
Message 13 of 22 in “[ANNOUNCE] Git v2.8.0-rc2”
  1. Junio C HamanoMar 10, 2016
  2. Max HornMar 12, 2016
  3. Junio C HamanoMar 14, 2016
  4. Michael J GruberMar 14, 2016
  5. wt-status: allow "ahead " to be picked up by l10nMichael J Gruber, Mar 14, 2016
  6. Junio C HamanoMar 14, 2016
  7. Junio C HamanoMar 14, 2016
  8. Junio C HamanoMar 14, 2016
  9. Michael J GruberMar 16, 2016
  10. Duy NguyenMar 16, 2016
  11. Michael J GruberMar 16, 2016
  12. Junio C HamanoMar 16, 2016
  13. Michael J GruberMar 17, 2016
  14. Makefile: allow po generation through po targetMichael J Gruber, Mar 17, 2016
  15. Junio C HamanoMar 17, 2016
  16. Junio C HamanoMar 17, 2016
  17. Jiang XinMar 20, 2016
  18. Michael J GruberMar 20, 2016
  19. Junio C HamanoMar 21, 2016
  20. Michael J GruberMar 22, 2016
  21. Junio C HamanoMar 22, 2016
  22. Jiang XinMar 15, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.