Subversion Exclusive Checkout и плагин Subversion для Delphi - PullRequest
6 голосов
/ 15 июля 2009

Есть ли в настоящее время функция, которая позволяет эксклюзивную проверку в SVN?

Есть ли хороший плагин для Delphi, который разрешает доступ через IDE?

Ответы [ 7 ]

11 голосов
/ 15 июля 2009

SVN имеет концепцию « блокировка », что примерно соответствует эксклюзивной проверке. Например, в TortoiseSVN это доступно через пункты меню Get lock и Release lock.

JCL содержит эксперта по контролю версий SVN, который работает довольно хорошо. Помимо прочего, tt предоставляет доступ к функциям блокировки из IDE.

8 голосов
/ 15 июля 2009

TortoiseSVN может быть добавлено в меню инструментов Delphi . Я не пробовал это сам, так как я счастлив использовать его как расширение Explorer.

Что касается эксклюзивного оформления заказа, я предполагаю, что вы имеете в виду, что только один человек может редактировать его одновременно? Это не совсем идея Subversion, идея в том, что у вас есть рабочие копии, а затем проверьте свои изменения. Затем он попытается объединить ваши изменения (обычно это работает большую часть времени). Если есть конфликты, вам нужно разрешить их вручную.

2 голосов
/ 16 июля 2009

Я полагаю, что одна из причин, по которой люди иногда задают вопросы о блокировке элементов в хранилище Subversion, заключается в том, что их Delphi DFM сохранены в двоичном формате, что затрудняет фиксацию / слияние.

Альтернативой замене текстовых файлов и т. Д. Является использование Scooter Software Beyond Compare.

Beyond Compare написан на Delphi и знает, как читать двоичные DFM. Это означает, что тогда становится меньше проблем (или даже не возникает проблем), хранятся ли ваши DFM в Subversion в двоичном или текстовом формате. В Beyond Compare V3 также выполняется трехстороннее объединение, которое позволяет действительно легко объединять несколько коммитов и т. Д. Даже если игнорировать возможность сравнения двоичных DFM, это все же намного лучший просмотрщик различий, чем встроенные инструменты TortoiseSVN. Я очень рекомендую это, и это очень недорого.

В настоящее время в нашем репозитории я блокирую только библиотеки типов COM (* .tlb и связанные с ними файлы * _TLB.pas).

1 голос
/ 15 июля 2010

Может быть, я наивен, но с какой стати кто-то захочет пойти на огромную проблему слияния своих изменений? Объединение может быть простым делом, если программисты редактируют текстовые файлы, содержание которых легко понять, и которые, следовательно, могут быть объединены благодаря программистам, знающим смысл изменений. Однако, если вы используете SVN с MS Visual Studio, где изменения в одном файле часто приводят к изменениям в других файлах, о которых вы не знали, и где кодирование информации в таких файлах может быть совершенно неизвестно программистам (которые поэтому будут у вас нет понятия о том, как интерпретировать гораздо меньше файлов слияния) и даже может быть двоичным, с какой стати вы столкнетесь с огромными проблемами и риском одновременного редактирования нескольких людей?

Парадигма блокировки проста. Только один человек редактирует одновременно. Слияние никогда не требуется. Программистам не нужно знать кодировки (возможно, двоичные) файлов, которые они даже не осознают, что они модифицируют. Никто не может топтать чьи-то изменения. Блокировка (т.е. блокировка по умолчанию) звучит для меня гораздо предпочтительнее.

1 голос
/ 16 июля 2009

По поводу эксклюзивных проверок. Это можно сделать, но это боль и, как правило, не стоит времени. Если у вас есть dfms, сохраненные как двоичные файлы, преобразуйте их в текст.

Что касается дополнений Delphi, у меня есть сообщение на Дополнения Delphi для Subversion .

Я использую jedi jcl и TortoiseSvn .

Есть также Delphi svn и Delphi addin для Tortoise svn , о которых я знаю.

0 голосов
/ 15 июля 2009

Для первой части я использовал Visual Source Safe, который поддерживает блокировку (необходимо проверить перед использованием), SVN имеет команду блокировки, но это противоречит ее концепции, вам нужно немного времени, чтобы привыкнуть к ней, и вы никогда не будет использовать команду блокировки снова.

Для второй части вашего вопроса, TortoiseSVN может использоваться как внешний инструмент, или вы можете настроить его на работу с Файловым браузером в комплекте с Delphi 2007 и выше, и вы можете использовать IBrowser , который работает со старыми версии.

и Надстройки Subversion для Delphi суммируют доступные подключаемые модули SVN для Delphi IDE, кроме SourceConneXion , который является коммерческим продуктом.

0 голосов
/ 15 июля 2009

Что вы подразумеваете под «эксклюзивным оформлением заказа»? Вы имеете в виду, что после регистрации никто другой не сможет проверить?

Это называется блокировкой, и subversion может сделать это (см. Блокировка ), хотя в общем случае это не рекомендуется, поскольку цель контроля версий - позволить нескольким людям одновременно работать с версионным элементом.

...