[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnulib's translation
From: |
Bruno Haible |
Subject: |
Re: gnulib's translation |
Date: |
Sun, 02 Dec 2018 17:46:11 +0100 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-138-generic; KDE/5.18.0; x86_64; ; ) |
Hi Benno,
> > Ah, you were assuming that the POT file is stored in the version control
> > system?
> > This is a practice that produces problems,
>
> What problems does this produce?
<BEGIN NEW DOC>
There are basically three ways to deal with generated files in the context
of a version controlled repository, such as ‘configure’ generated from
‘configure.ac’, parser.c generated from parser.y, or po/Makefile.in.in
autoinstalled by gettextize or autopoint.
“Never”
Generated files are never committed into the repository.
“Occasionally”
All generated files are committed into the repository occasionally, for
example each time a release is made.
“Always”
All generated files are always committed into the repository.
Each of these three approaches has different advantages and drawbacks.
“Never”
The advantage is less work for the maintainers. In particular, the
handling of branches becomes much easier, both for release branches
and “topic branches” as in Git. The drawback is that anyone who checks
out the source not only needs tools like GNU automake, GNU autoconf,
GNU m4 installed in his PATH, but also that he needs to perform a
package specific pre-build step before being able to "./configure; make".
“Occasionally”
The advantage is that anyone can check out the source, and the usual
"./configure; make" will work. The drawbacks are: 1. The one who checks
out the repository needs tools like GNU automake, GNU autoconf, GNU m4
installed in his PATH; sometimes he even needs particular versions of
them. 2. When a release is made and a commit is made on the generated
files, the other developers get conflicts on the generated files when
merging the local work back to the repository. Although these conflicts
are easy to resolve, they are annoying. 3. Copying a change to a branch
is not easy, because it involves separating the patch into a hand-made
part, to be applied literally, and a set of commands or Makefile targets
which will produce the other part. 4. Working with branches is time-
consuming and error-prone.
“Always”
The advantage is that anyone can check out the source at any moment and
gets a working build. The drawbacks are: 1. It requires some frequent
"push" actions by the maintainers. 2. The repository grows in size quite
fast. 3. and 4. as for “Occasionally”.
The “Never” approach is the predominant one nowadays, especially in projects
that use branches like in Git.
<END NEW DOC>
> (Probably this was discussed earlier
> and elsewhere? Maybe have a URL of an archived message?)
It will be documented in the next release of the GNU gettext manual.
Bruno
- Re: gnulib's translation, Akim Demaille, 2018/12/01
- Re: gnulib's translation, Bruno Haible, 2018/12/01
- Re: gnulib's translation, Akim Demaille, 2018/12/01
- Re: gnulib's translation, Akim Demaille, 2018/12/01
- Re: gnulib's translation, Bruno Haible, 2018/12/01
- Re: gnulib's translation, Akim Demaille, 2018/12/02
- Re: gnulib's translation, Bruno Haible, 2018/12/02
- Re: gnulib's translation, Benno Schulenberg, 2018/12/02
- Re: gnulib's translation, Paul Smith, 2018/12/02
- Re: gnulib's translation, Bruno Haible, 2018/12/02
- Re: gnulib's translation,
Bruno Haible <=
- Re: gnulib's translation, Benno Schulenberg, 2018/12/02
Re: gnulib's translation, Akim Demaille, 2018/12/06
Re: gnulib's translation, Bruno Haible, 2018/12/01