I have a git repository containing program source and a collection of .po files for translating the user interface using gettext.

I'm regularly hitting problems merging multiple branches of the project because a single .po file has been changed in multiple branches. Most of the time the changes do not touch the same localization strings. However, the .po files also have automatically generated content (e.g. line numbers in comments) which makes manual merging really hard.

The git version control system can use "merge driver" which is passed base version, modified version 1 and modified version 2 of a .po file and the driver is supposed to emit the 3-way merged version. The intent is to automatically generate the merged version if there are zero conflicts. In case of conflicts (the same msgid translated in different ways in both branches), the merge driver should keep both translations and mark the conflicting msgid as fuzzy.

A command "msg3way" was suggested by Panos Christeas nearly 4 years ago [1] which would have implemented the missing feature. The pull request never got any traction for unknown reasons. Currently it seems that most people are using hacks such as [2] and [3] which result in more or less broken .po files.

Would it be possible to do

        git pull http://members.hellug.gr/xrg/repos/gettext

this time? If not, please, explain the reasons in public.

[1] http://lists.gnu.org/archive/html/bug-gnu-utils/2010-11/msg00051.html
[2] https://gist.github.com/mezis/1605647
[3] http://stackoverflow.com/questions/16214067/wheres-the-3-way-git-merge-driver-for-po-gettext-files

--
Mikko

Reply via email to