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

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

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

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

Я обнаружил, что 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% производительности.

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

Ответ 8

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

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

Ответ 9

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

  • Просматривает конкретную папку в файловой системе, рекурсивно ищущую репозитории SVN (у нас есть множество небольших репозиториев, поскольку мы обнаружили, что один uber-репозиторий быстро стал трудно поддерживать и невыносимо медленным при использовании с TortoiseSVN);
  • Использует svnadmin hotcopy в каждом репозитории, который создал резервную копию;
  • 7zip всех резервных копий в один архив;
  • Подключает общий ресурс в SAN и копирует архив;
  • Удаляет все временные файлы;
  • Отправляет сообщение об успешном завершении.

Ответ 10

VisualSVN Server + Trac + TortoiseSVN + Ankhsvn.

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

Ответ 11

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

Легкость настройки, сделало ее нелегкой для моей команды, мы просто бросили ее на vm и побежали.

Ответ 12

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