Subversion - это централизованная система контроля версий. Одним из преимуществ централизованной системы является то, что она заставляет всех играть с одной и той же кодовой базой. Вы не можете скрыть свою работу в течение нескольких месяцев за один раз, а затем внезапно сбросить ее за два дня до выхода основного релиза. Плохая часть заключается в том, что вы не можете по-настоящему иметь частную ветку и не показывать ее в хранилище.
Нет причин, по которым вы не сможете создать свою собственную ветку. На самом деле, я использую, чтобы дать нашим разработчикам специальный «приватный» каталог, в который они могли бы поместить свой собственный код и сделать приватное ветвление. У меня был сценарий предварительной фиксации, который позволял вносить изменения только владельцу ветки, хотя он был настроен, так что любой мог его увидеть.
Если вы беспокоитесь, что ваши личные ветки могут засорить каталог branches
, помните, что вы можете удалить ветку из каталога branches
, когда закончите. Или вы можете запросить параллельный каталог private
, в который вы можете поместить свои вещи.
Если вы действительно хотите создать настоящую приватную область, в которой вы можете использовать Subversion и регистрировать код без его появления в главном репозитории, у вас есть два варианта, о которых я знаю:
SVK : Это внешняя распределенная система управления версиями, которая использует Subversion на своем бэкэнде. Вы можете создать свой собственный репозиторий Subversion и публиковать изменения между вашим локальным репозиторием и главным репозиторием.
Git : Git поставляется с инструментом под названием git-svn
, который позволяет извлекать данные из репозитория Subversion в локальный репозиторий Git. Затем вы можете использовать свой локальный Git-репозиторий, чтобы выполнить ветвление, а затем перенести ваши изменения обратно в Subversion. Есть даже Git-версия Черепаха .
Единственное предостережение в том, что вам придется испачкать руки интерфейсом командной строки с обоими этими инструментами.