SVN Merge — клиент или сервер?

Когда 2 пользователя изменяют один и тот же файл (в одной ветке) и проверяют свой код в SVN, SVN (после запроса второго пользователя на обновление) автоматически объединяет файлы и пытается разрешить любые конфликты.

Происходит ли этот процесс слияния на клиенте или на сервере?

(дополнительная информация: я использую Tortoise SVN 1.7.11 на клиенте, а версия сервера 1.5.1, у нас недавно было автоматическое слияние, удаляющее некоторые данные, и мне интересно, является ли это проблемой слияния кода в Черепаха или более старый код сервера)


person Alasdair McLeay    schedule 11.03.2013    source источник


Ответы (1)


Это вещь Tortoise SVN и, следовательно, на клиенте. Сервер SVN на самом деле отбросит его назад и скажет, что вы не в курсе. Странно, что черепаха делает это... Не похоже, что кто-то в здравом уме когда-либо хотел бы...

person prodigitalson    schedule 11.03.2013
comment
Помните, TortoiseSVN делегирует фактические операции командной строке SVN exe. Так что это может быть передача параметров, которые вызывают такое поведение - person Sameer Singh; 12.03.2013
comment
TortoiseSVN не делегирует операции. Он имеет собственную встроенную копию клиентских библиотек Subversion. - person alroc; 12.03.2013
comment
Tortoise не выполняет автоматическое слияние, как я видел, - он спрашивает вас, хотите ли вы, чтобы он обновился, а затем повторите попытку фиксации (если только автоматическое выполнение не является опцией, которую вы можете включить, и я не искал ее) - person alroc; 12.03.2013
comment
@alroc: Тогда это должен быть вариант. Я не использую черепаху, если вообще использую, потому что я редко в среде Windows, но я могу сказать, что это не делается в реализации сервера svn, и я никогда не видел, чтобы это делало это в другом клиенте svn (командная строка, eclipse, SCPlugin и т. д. ..) так что в процессе исключения это должно быть что-то в черепахе ... РЕДАКТИРОВАТЬ: Просто проверьте настройки в 1.6 (что, конечно, устарело) и не видел ничего связанного. - person prodigitalson; 12.03.2013
comment
@alroc да, извините за мою ошибку, когда я говорю «автоматическое слияние», это не полностью автоматически, оно просит вас выполнить обновление, а когда вы выполняете обновление, оно автоматически объединяется и предупреждает вас, если есть конфликты. Проблема в том, что (уже дважды) эти слияния привели к потере данных - я использую SVN около 7 лет и никогда не сталкивался с такой серьезной проблемой, возможно, это несоответствие версии Tortoise/сервера. - person Alasdair McLeay; 14.03.2013
comment
мой вопрос заключается в том, происходит ли процесс, который объединяет 2 файла, на сервере или клиенте, я думаю, это применимо, если я также использую клиент командной строки SVN - person Alasdair McLeay; 14.03.2013
comment
Все слияния происходят на клиенте. Если вы можете создать сценарий, который воспроизводит истинное состояние потери данных (а не ошибку/недоразумение пользователя), я уверен, что разработчики Subversion хотели бы увидеть это, чтобы они могли это исправить. - person alroc; 14.03.2013
comment
По-прежнему не отслеживается источник ошибки, но, вероятно, из-за того, что файл открыт и не обновляется IDE при выполнении обновления/слияния, а затем переопределяет изменения при возврате. - person Alasdair McLeay; 27.03.2013