Re: [RFC PATCH 1/2] l10n: add .gitattributes to simplify location filtering
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 5, 2026, 20:07 UTC
- Message-ID
- <xmqqtsvvkl7m.fsf@gitster.g>
- In-Reply-To
- <00d6cbf44f88fbd402375a2d41d7f9059d339e5d.1770296405.git.worldhello.net@gmail.com>
Jiang Xin <worldhello.net@gmail.com> writes:
Show 14 quoted lines
> To simplify the location filtering process for l10n contributors when > committing po/XX.po files, add the filter attributes for .po files to > the repository. This ensures all contributors automatically get the > same filter configuration without manual setup in .git/info/attributes. > > Contributors still need to manually define the filter drivers using > git-config as documented in po/README.md. > > Signed-off-by: Jiang Xin <worldhello.net@gmail.com> > --- > po/.gitattributes | 37 +++++++++++++++++++++++++++++++++++++ > po/README.md | 19 +++++++++++-------- > 2 files changed, 48 insertions(+), 8 deletions(-) > create mode 100644 po/.gitattributes
OK. It is slightly sad that two camps cannot agree on a single filter, which may allow us to just do
*.po filter=one-single-filter-agreed-upon
but I guess this is a good start. And having sample configuration lines that can readily be cut-and-pasted to help the contributors is very good.
Show 20 quoted lines
> +The filter configuration is defined in the "po/.gitattributes" file. > + > +Then define the driver for the filter. Most languages use the > +"gettext-no-file-no-location" clean filter, which strips out both filenames and > +locations from the comments. To set this up, run the following command: > > ```shell > -git config --global filter.gettext-no-location.clean \ > +git config --global filter.gettext-no-file-no-location.clean \ > "msgcat --no-location -" > ``` > > -For users who have gettext version 0.20 or higher, it is also possible > -to define a clean filter to preserve filenames but not locations: > +Some languages use the "gettext-no-location" clean filter, which preserves > +filenames but not locations. For these, install gettext version 0.20 or higher > +and setup the driver as below: > > ```shell > git config --global filter.gettext-no-location.clean \