Subversion эксклюзивный Checkout и Subversion плагин для Delphi

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

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

7 ответов


SVN имеет понятие"замок", что примерно соответствует эксклюзивному оформлению заказа. Например, в в TortoiseSVN это подвергается через Get lock и отпустите записи меню блокировки.

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


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

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


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

альтернативой изменению DFMs etc в текст является использование Программное Обеспечение СкутераС чем не сравнить.

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

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


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

Что касается Delphi addins, у меня есть сообщение в Delphi addins для subversion.

Я использую джедай JCL с и в TortoiseSVN.

также Delphi svn и Delphi добавить в Черепаха svn это я знаю.


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

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


Что вы подразумеваете под "эксклюзивный заказ"? Вы хотите сказать, что после того, как вы выписались, никто больше не может выписаться?

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


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

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

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