Правильный рабочий процесс для управления частной веткой Subversion: - PullRequest
6 голосов
/ 04 мая 2011

Есть проект с открытым исходным кодом, который я хотел бы раскошелиться. У него есть публичный репозиторий SVN, из которого я хотел бы проверить исходный код, клонировать его в свой личный репозиторий и начать вносить изменения. Если возможно, я бы хотел в будущем объединить изменения из репозитория верхнего уровня. До сих пор я был в состоянии сделать это так:

  1. Создайте папку для этого проекта в моем собственном хранилище.
  2. Проверьте эту пустую папку.
  3. Проверьте исходный проект в другом месте.
  4. Удалить все подкаталоги .svn в этом новом месте.
  5. Скопируйте файлы в рабочую копию моего личного репозитория, сделайте коммит один раз, затем начните вносить изменения.

Это работает, но кажется уродливым, и я совсем не уверен, что слияние будет работать правильно. Есть ли лучший способ?

РЕДАКТИРОВАТЬ: Чтобы исключить ответы «просто отправить исправление», достаточно сказать, что это для функции, которая мне нужна в моем приложении, но поскольку она намеренно нарушает совместимость с существующей функциональностью, она не будет принята в апстриме.

Ответы [ 3 ]

7 голосов
/ 04 мая 2011

Я собираюсь порекомендовать вам взглянуть на Git.

Да, в проекте используется Subversion, но у Git есть небольшой удобный трюк для извлечения ревизии из Subversion, позволяющей вам использовать Git дляваше собственное управление версиями и последующая фиксация изменений в Subversion.

Это позволит вам оставаться в синхронизации с Subversion и по-прежнему в полной мере использовать систему контроля версий.

посмотрите на git svn .

Если вы не хотите изучать Git (вы также можете, поскольку большинство проектов с открытым исходным кодом переходят на него), вы можете взглянуть на SVK .

2 голосов
/ 04 мая 2011

То, что вам нужно, называется ' Vendor Branches ', его хорошо известный рабочий процесс.

1 голос
/ 04 мая 2011

svn export сделает большую часть этого для вас.

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