Существует ли более быстрый централизованный контроль версий, чем SVN? - PullRequest
7 голосов
/ 18 апреля 2010

Я давно использую SVN, и теперь мы примеряем Git. Я не говорю о централизованных / децентрализованных дебатах здесь. Мое единственное беспокойство - скорость.

Последний инструмент намного быстрее. Но иногда мне НУЖНО работать с централизованным подходом, который намного проще и менее сложен, чем децентрализованный. Кривая обучения действительно быстрая, что экономит много времени (в то время как копание в децентрализованном режиме приведет к пустой трате времени, поскольку кривая обучения намного длиннее, и мы сталкиваемся с большим количеством проблем при работе с ней).

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

Кто-нибудь имеет какое-либо представление об этом?

Ответы [ 4 ]

5 голосов
/ 18 апреля 2010

Одна CVCS (централизованная система управления версиями), которую я знаю намного быстрее, чем SVN, не является бесплатной:

неволей

Я подробно выступаю в этом ТАК ответ .

Perforce diagram

Вы можете увидеть сравнение между Perforce и Subversion в этом документе .
В частности, поддержка слияния гораздо эффективнее.

1 голос
/ 19 апреля 2010

Что делает SVN медленным, так это то, как он обрабатывает рабочие копии. Тысячи файлов затронуты и записаны.

Вы можете попробовать Bazaar (bzr), поскольку он поддерживает рабочие процессы (но я не знаю, действительно ли он быстрее) или подождать SVN 1.7 с WC-NG и централизованными метаданными. SVN 1.7 запланирован на это лето, но может быть завершен позже.

1 голос
/ 18 апреля 2010

Git поддерживает множество топологий, включая централизованный подход CVS / SVN. Есть несколько вариантов:

  1. Предоставление центрального общего хранилища через ssh. Гитоз делает это проще.
  2. Использование github личных учетных записей.
  3. Используйте коммерческий серверный продукт github, github: fi в своем собственном центре обработки данных.
0 голосов
/ 18 апреля 2010

Git очень гибок и прекрасно работает в централизованном порядке. На сервере где-нибудь создайте «пустой» репозиторий с чем-то вроде:

mkdir repo
cd repo
git init --bare --shared

Затем поместите ваш репозиторий в пустой на сервере и назовите его «центральным» репозиторием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...