Работа с Subversion такая же, как с Visual Source Safe в Visual Studio - PullRequest
8 голосов
/ 13 марта 2010

На работе я только начал использовать Subversion с AnkhSVN вместо Visual Source Safe. Мне удалось интегрировать это достаточно хорошо, но это не похоже на то же самое. При использовании VSS произойдет следующее:

Пользователь извлекает файл, щелкая правой кнопкой мыши и выбирая «оформить» или редактируя его. Если другой пользователь попытается изменить тот же файл, он получит ошибку. Никто из 2 пользователей не может редактировать один и тот же файл одновременно. Нет фантазии слияния. Нет конфликтов и нет разрешения конфликтов.

Я понимаю, что философия, лежащая в основе Subversion, отличается, но есть ли способ, которым описанное выше поведение может быть дублировано с Subversion?

В AnkhSVN есть опция, которая называется «Автоматически блокировать файлы при изменении ...», но даже если я активирую эту опцию при редактировании файла, она никогда не блокируется автоматически. Даже если эта опция сработает, другие пользователи не увидят блокировку, пока они не передадут файл. Они не получат ошибку, когда попытаются отредактировать ее, как в Visual Source Safe.

Итак, в основном: можно ли дублировать поведение Visual Source Safe с помощью Subversion и AnkhSVN?

Ответы [ 3 ]

8 голосов
/ 13 марта 2010

Смысл использования Subversion поверх Source Safe в том, что у вас нет эксклюзивной блокировки, и многие люди могут работать с одним файлом.

Вы теряете довольно много преимуществ SVN, если начинаете использовать его с эксклюзивными блокировками файлов.

Идея состоит в том, что вы исправляете конфликты во время слияния кода.

См. этот ТАК вопрос и ответы для небольшого обсуждения вопросов (Revision control locking: Is the jury still out?).

6 голосов
/ 29 декабря 2011

Агент SVN - это плагин MS-SCCI (как и VSS) для Subversion, поэтому он интегрируется с Visual Studio, как и VSS.

Он также имеет опцию Lock on check , и с этой функцией он очень похож на VSS.

2 голосов
/ 13 марта 2010

Вам необходимо установить svn:needs-lock свойства subversion для файлов, которые вы хотите явно заблокировать. Это действительно рекомендуется только для файлов, которые не могут быть легко объединены, например (большинство) двоичных файлов, а не для текстовых / кодовых файлов. Обычно текстовые / кодовые файлы автоматически объединяются, и когда они не конфликтуют, их обычно легко разрешить.

AnkhSVN попросит вас заблокировать файл (так же, как оформить заказ в VSS), когда вы попытаетесь отредактировать его, когда установлено свойство svn:needs-lock. Если вы включите функцию «Автоматически блокировать файлы», диалоговое окно блокировки будет отключено, и вы заблокируете файл без отображения диалогового окна.

Svnbook объясняет различия между блокировкой-изменением-разблокировкой и копированием-изменением-слиянием , а также описывается поведение svn: needs-lock

...