Создание локальной ветки SVN

Я работаю над хранилищем SVN и не хочу создавать новую ветку SVN. Вместо этого я хочу создать локальную ветвь для моей машины, что легко можно сделать с помощью Git .

Но в настоящее время я использую SVN и мне нужно перейти с уже измененной версии SVN. По сути, я хочу следующее:

  • svn_repo_version = 2259
  • working_copy = изменение 2259
  • new_local_svn_branch = на основе измененного 2259

Как лучше всего это сделать?

13 голосов | спросил agent.smith 1 J0000006Europe/Moscow 2011, 23:23:24

2 ответа


0

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

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

Если вы беспокоитесь о том, что ваши личные ветки могут засорить каталог branches, помните, что вы можете удалить ветку из branches, когда вы закончите. Или вы можете запросить параллельный каталог private, куда вы можете поместить свои вещи.

Если вы действительно хотите создать настоящую приватную область, в которой вы можете использовать Subversion и регистрировать код без его появления в основном репозитории, у вас есть два варианта, о которых я знаю:

  • SVK . Этот интерфейс распространяется Система контроля версий, которая использует Subversion на своем бэкенде. Вы можете создать свой собственный репозиторий Subversion и публиковать изменения между вашим локальным репозиторием и основным репозиторием.

  • Git : Git поставляется с инструментом под названием git-svn, которая позволяет извлекать данные из хранилища Subversion в локальное хранилище Git. Затем вы можете использовать свой локальный Git-репозиторий, чтобы выполнить ветвление, а затем перенести ваши изменения обратно в Subversion. Есть даже Git-версия черепахи .

Единственное предостережение в том, что вам придется запачкать руки интерфейсом командной строки с обоими этими инструментами.

ответил David W. 2 J0000006Europe/Moscow 2011, 00:01:07
0

Боюсь, вам нужно будет создать новую ветку и продолжать вносить в нее любые изменения. Единственная альтернатива - просто извлекать ветку, продолжать обновление и не фиксировать (или продолжать переключение до фиксации), пока вы не закончите. У вас всегда могут быть две рабочие копии, если вам нужно работать с исходной веткой /стволом. Совсем близко к идеалу, но так работает SVN, что все еще очень хорошо, учитывая альтернативы в то время.

Я лично управляю локальной историей, если это то, что вам нужно, с помощью моей IDE ( Eclipse ).

ответил vickirk 1 J0000006Europe/Moscow 2011, 23:28:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132