Problemi con l'unione SVN in un file di testo a più colonne (delimitato da tabulazioni)?
Domanda
Ho un file di testo a più colonne (delimitato da tabulazioni) che utilizzo per il testo localizzato nel mio progetto.
Ho scelto questo formato poiché può essere facilmente modificato da chiunque nella maggior parte degli editor di testo (ed eccellere anche).
Il mio makefile lo elabora in un mucchio di definizioni e dati binari da includere direttamente nella mia app.
Sai se l'unione SVN fa solo l'unione riga per riga o può farlo anche con la fusione sub-riga?
Ad esempio:
Il file originale (non tradotto) contiene:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* *YES*
STRING_NO NO *NO* *NO*
Quindi il traduttore francese lo aggiorna:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* OUI
STRING_NO NO *NO* NON
Quindi il traduttore tedesco lo aggiorna:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES JA *YES*
STRING_NO NO NEIN *NO*
Quindi entrambi fondono nuovamente i risultati in SVN, quindi sovrascriveranno le altre modifiche o sarà in grado di gestire modifiche multiple su una linea?
Soluzione
È riga per riga.
- La persona che tenta di eseguire il commit in seguito riceverà un errore "non aggiornato" e quando tenterà di aggiornarlo, si verificherà un conflitto nelle righe modificate.
- Lo stesso vale per l'unione. Chi si fonderà successivamente dovrà risolvere manualmente i conflitti.
Altri suggerimenti
L'unione SVN è riga per riga, quindi nella situazione descritta, i conflitti verrebbero creati e dovrebbero essere uniti a mano. Tuttavia, con strumenti di unione decenti, gli stessi traduttori potrebbero probabilmente gestirlo - gli strumenti possono mostrare differenze carattere per carattere.
TortoiseSVN è di fatto il client SVN di Windows, che include TortoiseMerge (screenshot) .
Esistono diversi strumenti di unione in Linux, Meld è il mio preferito (gnomo) preferito.
Ci sono anche diversi client Mac che mi aspetterei per avere questa funzione.