Есть ли проблемы с объединением SVN в текстовом файле с несколькими столбцами (с разделителями табуляции)?

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

Я выбрал этот формат, так как он может быть легко отредактирован любым пользователем в большинстве текстовых редакторов (а также в 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, поэтому будут ли они перезаписывать изменения друг друга или могут обрабатывать несколько изменений в строке?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
270
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Построчно.

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

есть ли в SVN какой-либо автоматический способ разрешения конфликта без потери изменений или ручного копирования конфликтующих строк?

KPexEA 03.10.2008 20:26

К сожалению нет. Это моя самая большая проблема при слиянии изменений файла vcproj.

Alex B 03.10.2008 20:48

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

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

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

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

Другие вопросы по теме