Any problems with SVN merge on a multi column ( tab delimited ) text file?
Question
I have a multi-column text file ( tab delimited ) that I use for localized text in my project.
I picked this format since it can easily be edited by anyone in most text editors (and excel too).
My makefile processes it into a bunch of defines and binary data for including directly into my app.
Do you know if SVN merge only does line by line merging or can it so sub-line merging too?
For example:
Original File ( untranslated ) contains:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* *YES*
STRING_NO NO *NO* *NO*
Then the french tranlator updates it:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* OUI
STRING_NO NO *NO* NON
Then the german tranlator updates it:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES JA *YES*
STRING_NO NO NEIN *NO*
Then they both merge the results back int SVN, so will they overwrite each others changes or can it handle mulitple changes on a line?
Solution
It is line by line.
- The person who tries to commit later will get 'out of date' error, and when they try to update it, they will get a conflict in changed lines.
- Same with the merge. The one who merges later will have to sort out conflicts manually.
OTHER TIPS
SVN merge is line by line, so in the situation you outline, conflicts would be created and would have to be merged by hand. However, with decent merge tools, the translators themselves could probably handle this - the tools can show differences character by character.
TortoiseSVN is the de facto Windows SVN client, which includes TortoiseMerge (screenshot).
There are several merge tools in Linux, Meld being my current (gnome) favorite.
There are also several Mac clients that I'd expect to have this feature.