Un problème avec la fusion SVN sur un fichier texte à colonnes multiples (délimité par des tabulations)
Question
J'ai un fichier texte à plusieurs colonnes (délimité par des tabulations) que j'utilise pour le texte localisé dans mon projet.
J'ai choisi ce format car il peut facilement être édité par n'importe qui dans la plupart des éditeurs de texte (et excellent également).
Mon fichier makefile le traite en un tas de données définitives et binaires pour l'inclure directement dans mon application.
Savez-vous si SVN fusionne uniquement ligne à ligne ou peut-il aussi fusionner une sous-ligne?
Par exemple:
Le fichier d'origine (non traduit) contient:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* *YES*
STRING_NO NO *NO* *NO*
Ensuite, le traducteur français le met à jour:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* OUI
STRING_NO NO *NO* NON
Ensuite, le traducteur allemand le met à jour:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES JA *YES*
STRING_NO NO NEIN *NO*
Ensuite, ils fusionnent les résultats dans le SVN int. Ils écraseront donc les modifications ou pourront-ils gérer plusieurs modifications sur une ligne?
La solution
C'est ligne par ligne.
- La personne qui tente de s’engager plus tard recevra l’erreur 'obsolète', et lorsqu’elle tentera de la mettre à jour, elle aura un conflit entre les lignes modifiées.
- Idem avec la fusion. Celui qui fusionne plus tard devra régler les conflits manuellement.
Autres conseils
La fusion de SVN se fait ligne par ligne. Ainsi, dans la situation que vous décrivez, des conflits seraient créés et devraient être fusionnés à la main. Cependant, avec des outils de fusion décents, les traducteurs eux-mêmes pourraient probablement gérer cela - les outils peuvent montrer les différences caractère par caractère.
TortoiseSVN est le client Windows SVN de facto, qui comprend TortoiseMerge (capture d'écran) .
Il existe plusieurs outils de fusion sous Linux, Meld , qui est mon favori actuel (gnome).
Il existe également plusieurs clients Mac auxquels je m'attendrais d'avoir cette fonctionnalité.