У меня есть текстовый файл с несколькими столбцами (с разделителями табуляцией), который я использую для локализованного текста в моем проекте.
Я выбрал этот формат, так как он может быть легко отредактирован любым пользователем в большинстве текстовых редакторов (а также в Excel).
Мой make-файл преобразует его в набор определений и двоичных данных для включения непосредственно в мое приложение.
Знаете ли вы, выполняется ли слияние SVN только построчно, или же слияние подстрок тоже?
Например:
Исходный файл (непереведенный) содержит:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* *YES*
STRING_NO NO *NO* *NO*
Затем французский переводчик обновляет его:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES *YES* OUI
STRING_NO NO *NO* NON
Затем немецкий переводчик обновляет его:
DEFINE ENGLISH GERMAN FRENCH
STRING_YES YES JA *YES*
STRING_NO NO NEIN *NO*
Затем они оба объединяют результаты обратно в SVN, поэтому будут ли они перезаписывать изменения друг друга или могут обрабатывать несколько изменений в строке?





Построчно.
К сожалению нет. Это моя самая большая проблема при слиянии изменений файла vcproj.
Слияние SVN выполняется построчно, поэтому в описанной вами ситуации могут возникнуть конфликты, и их придется объединять вручную. Однако при наличии приличных инструментов слияния с этим, вероятно, справились бы сами переводчики - инструменты могут отображать различия символ за символом.
TortoiseSVN - это де-факто клиент Windows SVN, который включает TortoiseMerge (снимок экрана).
В Linux есть несколько инструментов слияния, из которых Meld - мой текущий фаворит (gnome).
Есть также несколько Клиенты Mac, которые, как я ожидал, будут иметь эту функцию.
есть ли в SVN какой-либо автоматический способ разрешения конфликта без потери изменений или ручного копирования конфликтующих строк?