Вопрос

Из того немногого, что я понимаю, svn 1.5 обеспечивает гораздо лучшую поддержку операций слияния.Итак, я рассматриваю возможность обновления с svn 1.4.Репозиторий находится в локальном файле (более или менее), и я использую svn из командной строки.

Каких препятствий я могу ожидать и как svn 1.5 будет обрабатывать существующий репозиторий без данных слияния?

Редактировать: В частности, после того, как я запущу svnadmin upgrade, как svn будет обрабатывать слияния из ветвей, которые в последний раз были объединены в эпоху 1.4?

И делает svn-populate-node-origins-index имеете к этому какое-то отношение?

Ссылка: http://subversion.tigris.org/svn_1.5_releasenotes.html

Это было полезно?

Решение

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

Единственное ощутимое преимущество информации о слиянии, которую я нашел, - это возможность увидеть список потенциальных слияний между двумя ветвями и знать какие редакции уже были объединены.Это напрямую не влияет на такие вещи, как количество возникающих конфликтов, но позволяет вам сохранять здравый смысл при отслеживании того, что куда ушло.Слияния, выполненные до обновления, не вызывают проблем, они просто снова отображаются как потенциальные слияния, даже если они уже были выполнены.

Тем не менее, информация о слиянии - это просто svnproperty с именем svn: mergeinfo формата:

/Project/name/trunk:1355-3985,4019,4026-4437,4478,4481

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

Возможно, на это также стоит обратить внимание reshard.py, особенно если репозиторий большой и работает в Windows.Формат репозитория 1.4 fsfs помещает все ревизии в отдельные файлы в одной папке, Windows начинает обход с этим после нескольких тысяч ревизий.1.5 сегментирование группирует редакции в отдельные папки по 1000 штук в каждой.1.6 позволит нам объединить старые версии в один большой файл версий.

Другие советы

Обновление несложно.Subversion в большинстве случаев обратно совместима.Однако вам следует обновить свой репозиторий с помощью svnadmin upgrade.

Насколько я понимаю, отслеживание слияний будет работать только для слияний после обновления.Реального способа восстановить недостающую информацию не существует.

Также, svn-заполнить-узел-происхождение-индекс должен быть запущен в этом репозитории, но по причине, изложенной в связанном файле (см. usage_summary).

В зависимости от вашей среды разработки вам могут потребоваться обновленные привязки.Netbeans 6.2, например, не работает с SVN 1.5.

Существует множество инструментов для преобразования репозитория из subversion / cvs в совершенно другой тип.Изо всех сил стараясь не вступать в спор, я предлагаю вам рассмотреть все другие варианты и решить для себя, может ли какой-либо из них облегчить жизнь, например, распределенные системы контроля версий. Мерзавец это тот, кто утверждает, что он лучше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top