| 444 | Now that all the maintenance branches have l10n support, special care should be taken when merging l10n changes from one branch to the next. |
| 445 | |
| 446 | One problem to be expected with the merge is a high rate of conflicts due to line number differences. Even if the source text (the `msgid`) are often unchanged, it's very likely that their position in the file will be different. |
| 447 | |
| 448 | The [source:trunk/contrib/l10n_revert_lineno_conflicts.py] can be used to remove those spurious conflicts. |
| 449 | |
| 450 | Example workflow: |
| 451 | {{{ |
| 452 | 1.0-stable$ make update |
| 453 | 1.0-stable$ svn merge ^/branches/0.12-stable --accept postpone |
| 454 | 1.0-stable$ $ svn st -q | sed -e 's,\\,/,g' | grep ^C | cut -c2- > conflicted.files |
| 455 | 1.0-stable$ python contrib/l10n_revert_lineno_conflicts.py `cat conflicted.files` |
| 456 | reverted 6 ignorable changes in trac/locale/fa/LC_MESSAGES/messages.po |
| 457 | reverted 1 ignorable changes in trac/locale/nb/LC_MESSAGES/messages.po |
| 458 | reverted 147 ignorable changes in trac/locale/nl/LC_MESSAGES/messages.po |
| 459 | no ignorable changes in trac/locale/nl/LC_MESSAGES/messages-js.po |
| 460 | [...] |
| 461 | }}} |
| 462 | At this point, one can inspect the remaining meaningful conflicts and resolved them manually. |
| 463 | |
| 464 | Then: |
| 465 | {{{ |
| 466 | 1.0-stable$ make update |
| 467 | }}} |
| 468 | to remove the spurious line number difference, review and commit. |
| 469 | |
| 470 | |