manpagez: man pages & more
info gettext
Home | html | info | man

File: gettext.info,  Node: Translations under Version Control?,  Next: autopoint Invocation,  Prev: PO Template File under Version Control??,  Up: Version Control Issues

14.7.4 Put the PO Files under Version Control or not?
-----------------------------------------------------

   The PO files produced by translators are source files.  Whether they
are put under version control, is related to how the ‘fetch-po’ script
operates.

   • In packages whose translators commit their PO files directly into
     the version control of the package, or where a translations
     project's daemon does this automatically on behalf of the
     translators, they are in version control.  This is the case where
     the ‘fetch-po’ script does not do anything.

   • In packages where the translations are collected by a translation
     project, the maintainer has the choice:
        • He may want to rely on this translation project only.  This
          means:
             • He will *not* put the PO files under version control.
             • Instead he will list them in the ‘.gitignore’ file.
             • In the script that fetches auxiliary sources from other
               places in the internet, typically called ‘autopull.sh’ or
               ‘bootstrap --pull’, he will have an invocation
                    (cd po && ./fetch-po)
             • The ‘fetch-po’ script will have a ‘po-fetch’ invocation
               *without* the ‘--git’ option.
          The net effect is that the developers will access the
          translation project's site regularly, namely each time they
          execute the ‘autopull.sh’ script.
        • Or he may want to use the package's version control as a
          "cache" for the PO files from the translation project.  This
          means:
             • He will put the PO files under version control.
             • The ‘autopull.sh’ or ‘bootstrap --pull’ script is not
               modified.
             • The ‘fetch-po’ script will have a ‘po-fetch’ invocation
               *with* the ‘--git’ option.
             • Before making a release, the maintainer will run
                    (cd po && ./fetch-po)
               and commit the changed or added or removed files in the
               ‘po/’ directory.
          The net effect is that only the maintainer will access the
          translation project's site, and only when making a release.
          In all other situations, the developers will be using the PO
          files from the package's version control.

© manpagez.com 2000-2026
Individual documents may contain additional copyright information.