Каков ваш опыт работы с SVN в Windows?

Мне любопытно узнать об опыте тех, кто в настоящее время использует свой сервер SVN в Windows.

У Джеффа Этвуда есть сообщение о том, как настроить SVN как службу Windows. Это отличный первый шаг, но он не затрагивает другие темы, такие как:

  • Что использовать для веб-браузера репозитория? WebSVN может работать в Windows, но это некрасиво.
  • Как управлять файлом passwd?
  • Можно ли интегрироваться с Active Directory без запуска Apache?
  • Стратегии резервного копирования репозитория.
  • Полезные шаблоны глобального игнорирования для разработки Visual Studio (предложения здесь, здесь и здесь, например).

Наша компания перешла с SourceGear Vault на Subversion около месяца назад. У нас есть основы, но мы хотели бы узнать советы и рекомендации людей по запуску SVN в мире MSFT.


person Portman    schedule 23.08.2008    source источник


Ответы (12)


Используйте VisualSVN Server. Он интегрируется с проверкой подлинности Windows и обрабатывает все настройки Apache. Это настолько безболезненно, насколько SVN может быть в Windows.

person John Sheehan    schedule 23.08.2008

VisualSVN — это то, что вам нужно. Встроенная поддержка Active Directory очень проста в использовании.

person Mark Biek    schedule 23.08.2008

Я обнаружил, что VisualSVN работает примерно на 50% медленнее, чем запуск SVN в качестве собственного сервиса. я всегда предполагал

это было из-за доступа через http:// с Apache, который, похоже, должен быть медленнее

чем доступ через svn://, который является родным TCP/IP.

Эксперимент

Вот что я сделал за последние 30 минут:

  • Установил VisualSVN на порт 8080 параллельно с моей существующей установкой SVN.
  • Импортированы три существующих репозитория в VisualSVN.
  • Выкинул всех с сервера
  • Сделал параллельное сравнение полной проверки svn

Результаты

Repo 1: 652 files, 273 directories, 60.1MB
  23 seconds for VisualSVN over http:// 
  16 seconds for SVN over svn://

Repo 2: 4623 files, 964 directories, 127.9MB
  2 minutes, 18 seconds for VisualSVN over http://
  1 minute, 30 seconds for SVN over svn://

Это на идентичном оборудовании с точно таким же хранилищем. Мне нравится, насколько проста VisualSVN, но интеграция с AD и графический интерфейс не стоят 50% снижения производительности.

Кто-нибудь еще видел эту разницу? Я делаю что-то не так, просто следуя параметрам установки по умолчанию?

person Portman    schedule 23.08.2008
comment
Ваш анализ ошибочен, потому что вы не сравниваете яблоки с яблоками. Вы можете прочитать svnbook.red-bean.com/en /1.5/svn.serverconfig.choosing.html Вы должны сравнить Apache HTTPd + mod_svn с VisualSVN для тех же функций. - person Scott Markwell; 09.01.2009
comment
Э... разве я не это сказал? Я всегда предполагал, что это из-за доступа через http:// с Apache, который, кажется, должен быть медленнее, чем доступ через svn://, который является родным TCP/IP. - person Portman; 10.01.2009
comment
Я уверен, что разница есть, но вы перезагружали бокс между тестами? В противном случае кэширование файлов ОС повлияет на время второго запуска. - person devstuff; 28.03.2009
comment
Тот факт, что subversion намного медленнее по http://, чем по svn://, является известной проблемой. Последнее, что я читал, планировалось исправить в Subversion 1.7: blog.red-bean. com/sussman/?p=139 - person Wim Coenen; 28.03.2009
comment
Отчасти причина того, что http:// медленнее, чем svn://, заключается в том, что HTTP не имеет состояния, поэтому возникает больше накладных расходов. Протокол SVN сохраняет состояние. Это неоднократно обсуждалось в списках рассылки SVN. - person myron-semack; 06.04.2009

У меня есть довольно подробные руководства в моем блоге http://tv.inner-rhythm.co.uk/ о том, как настроить SVN с помощью Apache и Trac, которые мы используем в моей компании, и которые работают на нас.

person BigMadKev    schedule 23.08.2008

Я использую комбинацию VisualSVN и Tortoise. Он плохо интегрируется с Visual Studio, но для этого вы можете использовать другие плагины/приложения.

person brendan    schedule 23.08.2008

Trac, безусловно, лучшее программное обеспечение для управления проектами через Интернет, которое я использую, оно интегрируется с Subversion, поэтому вы можете видеть временные рамки коммитов и различий каждой версии, оно позволяет создавать тикеты и отчеты об ошибках и имеет встроенную вики.

http://trac.edgewall.org/wiki/TracOnWindows

Небольшое знание Python, и его легко настроить и запустить (хотя, если вы работаете в Windows, используйте сервер tracd: http://trac.edgewall.org/wiki/TracStandalone (по этой ссылке показано, как установить его как службу Windows).

person mmattax    schedule 23.08.2008

Я рекомендую TortoiseSVN. Он добавляет возможности SVN в проводник Windows. Кроме того, TortoiseSVN проверьте, поддерживает ли используемая вами среда разработки SVN.

person John Meagher    schedule 29.08.2008
comment
TortoiseSVN добавляет SVN в XP Windows Explorer. Проводник Vista не допускает такой настройки, что является одним из моих самых больших претензий к Vista. - person David Thornley; 21.01.2009
comment
@David: TortoiseSVN работал над моими компьютерами Vista последние 2 года без каких-либо проблем. - person devstuff; 28.03.2009

Rich Strahl только что опубликовал запись в блоге, посвященную запуску сервера VisualSVN для управления исходным кодом Subversion. Стоит прочитать:

http://west-wind.com/weblog/posts/480534.aspx

person Espo    schedule 17.09.2008

Для резервного копирования я написал комбинацию пакетного файла и VBScript, который запускается раз в неделю в качестве запланированной задачи. Это:

  • Сканирует определенную папку в файловой системе, рекурсивно ища репозитории SVN (у нас есть множество небольших репозиториев, поскольку мы обнаружили, что один убер-репозиторий быстро стал трудным в обслуживании и невыносимо медленным при использовании с TortoiseSVN);
  • Использует горячую копию svnadmin для каждого найденного репозитория для создания резервной копии;
  • 7архивирует все резервные копии в один архив;
  • Монтирует общий ресурс в SAN и копирует архив;
  • Удаляет все временные файлы;
  • Отправляет уведомление об успешном завершении по электронной почте.
person Ant    schedule 17.09.2008

Сервер VisualSVN + Trac + TortoiseSVN + Ankhsvn.

Сделанный. Гладкий как шелк. Каким должен был быть Visual SourceSafe.

person Ben Collins    schedule 02.11.2008

Я думаю, вы видите разницу между протоколом svn и хостингом протокола svn на другом сервере.
Аналогичное снижение производительности при использовании svn+ssh по сравнению с svn.

Простота установки сделала это простым делом для моей команды, мы просто загрузили его на виртуальную машину и запустили.

person DevelopingChris    schedule 26.08.2008

Запуск SVN под apache на самом деле не так уж и сложен. И вы можете использовать mod_auth_sspi для интеграции с Active Directory.

person Jeremy    schedule 29.08.2008