2008-10-03 12 views
2

У меня есть текстовый файл с несколькими столбцами (с разделителями табуляции), которые я использую для локализованного текста в моем проекте.Любые проблемы с SVN-объединением в текстовом файле с несколькими столбцами (с разделителями табуляции)?

Я выбрал этот формат, так как он может быть легко отредактирован кем-либо в большинстве текстовых редакторов (и отлично).

My makefile обрабатывает его в кучу определений и двоичных данных для непосредственного включения в мое приложение.

Знаете ли вы, что слияние SVN происходит только по слиянию строк или может ли это слияние суб-линии тоже?

Например:

исходного файла (нетранслированного) содержит:

DEFINE   ENGLISH GERMAN FRENCH 
STRING_YES  YES  *YES* *YES* 
STRING_NO  NO  *NO*  *NO* 

Тогда французские обновления tranlator это:

DEFINE   ENGLISH GERMAN FRENCH 
STRING_YES  YES  *YES* OUI 
STRING_NO  NO  *NO*  NON 

Тогда немецкие обновления tranlator это:

DEFINE   ENGLISH GERMAN FRENCH 
STRING_YES  YES  JA  *YES* 
STRING_NO  NO  NEIN  *NO* 

Затем они объединяют результаты обратно в SVN, так что они будут перезаписывать друг друга или могут обрабатывать измененные изменения в строке?

ответ

3

Это строка за строкой.

  1. Лицо, которое пытается совершить позднее, получит ошибку «устаревшего», и когда они попытаются его обновить, они получат конфликт в измененных строках.
  2. То же самое с слиянием. Тот, кто позже объединяется, должен будет вручную сортировать конфликты.
+0

Есть ли какой-либо автоматизированный способ для SVN для разрешения конфликта без потери изменений или вручную копирование конфликтующих строк? – KPexEA 2008-10-03 16:26:05

0

SVN merge - это строка за строкой, поэтому в ситуации, которую вы начертите, конфликты будут созданы и должны быть объединены вручную. Тем не менее, при наличии достойных инструментов слияния, сами переводчики могли бы справиться с этим - инструменты могут отображать различия по характеру.

TortoiseSVN является фактическим клиентом Windows SVN, который включает в себя TortoiseMerge (screenshot).

В Linux есть несколько инструментов слияния, Meld - мой текущий (гном) фаворит.

Есть также несколько Mac clients, которые я ожидал бы иметь эту функцию.