Форкинг Subversion Project - PullRequest
       23

Форкинг Subversion Project

8 голосов
/ 26 ноября 2008

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

Каков наилучший способ справиться с наличием двух веток проекта и включением изменений из Проекта А в Проект Б, не переписывая моды, которые я делаю, в Проект Б?


Он разделяется на две сущности с моим основным репо в Google Code и затем версией компании в нашем собственном внутреннем репо. Мой вопрос заключается в том, чтобы все было в порядке, поскольку настало время обновляться от выпуска к выпуску, но при этом сохранялись пользовательские изменения.

Ответы [ 3 ]

3 голосов
/ 26 ноября 2008

См. Раздел в ранее упомянутом Книге Subversion, в которой обсуждаются "ветви поставщиков" . Здесь описывается, как обращаться с внешним подпроектом, чтобы вы могли объединять изменения при обновлении внешнего проекта и объединять свои собственные локальные изменения.

Этот подход должен хорошо работать, если вы рассматриваете общедоступную версию вашего проекта (размещенную в коде Google) как зависимость от экстентов в коде вашей компании.

2 голосов
/ 26 ноября 2008

В Subversion «разветвление» означает «ветвление», а «Включение изменений» - «объединение».

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

0 голосов
/ 26 ноября 2008

Если Work не захочет выпустить эти модификации обратно в исходный проект, я бы начал там новый проект SVN (проект B). Затем, переходя к следующему выпуску лицензированного проекта BSD (проект A), вы можете вносить наборы изменений из последнего выпуска, а затем применять их обратно к проекту B.

Может показаться, что у вас расстройство личности, но вы должны действовать как две разные сущности, в зависимости от того, где вы находитесь (Слово или Дом).

IFF, с другой стороны, Work готов выпустить эти изменения обратно в исходный проект, тогда вам лучше сделать ветку и объединить ваши изменения в Project A с Projet B (периодически).

...