bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making gettext CVS friendly


From: Pavel Roskin
Subject: Re: Making gettext CVS friendly
Date: Wed, 2 Oct 2002 16:17:13 -0400 (EDT)

Hello, Bruno!

> > gettext-enabled packages change *.po files that can be under version
> > control.
> 
> Please give a self-contained example, possibly using GNU hello if you
> like. What cvs operations were done by which developer in which order?

"hello" on the GNU CVS is empty:

$ cvs -d :pserver:address@hidden:/cvsroot/hello co hello
$

Anyway, let's use GNU Midnight Commander.

$ cvs -d :pserver:address@hidden:2401/cvs/gnome co mc
$ cd mc
$ ./autogen.sh # this runs autopoint and configure among other things
$ make

You see that mc.pot is generated and all *.po files are rebuilt.  Now 
let's see if we have modified files:

$ cvs up
M po/az.po
M po/be.po
...

That's a problem.  If somebody modified po/az.po in the meantime, I would 
have a conflict.

I checked the rules, and it's clear that the reason for remaking of all 
files is that mc.pot is newer than all of them:

$(POFILES): $(srcdir)/$(DOMAIN).pot

GNU Midnight Commander uses CVS is the way CVS authors intended it to be
used - no dependent files under version control.  This means that
po/mc.pot is not on CVS.  It is generated, that's why po/Makefile wants to
remake all *.po files.  And that's inconvenient.

I don't want *.po files to be remade unless I request it.  Rather than
prevent the pot-file from being updated when the sources change (I don't
care if it's updated), it's better to prevent implicit updating of the
*.po files when the pot-file is regenerated.

> I cannot find a Makefile.in.in in the mc CVS at
> http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=mc/po
> and I'm not going to debug its 'update.pl' and 'update.sh' scripts,
> because they are not part of GNU gettext.

I'm impressed that you made your research!  po/Makefile.in.in is missing 
because it's added by autopoint.

> With the Makefile.in.in from GNU gettext >= 0.11.3 it doesn't, in my
> experience.

If the $(DOMAIN).pot file is unchanged, which is not the case.  Ask 
"hello" maintatiners to use CVS and see how they will 

> You are the first to report a CVS conflict with PO files.

Sometimes I get bugreports for the bugs that existed for years.  Not
everybody has time and desire to report problems, especially if they seem
to be design limitations rather than simple bugs.

-- 
Regards,
Pavel Roskin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]