Использование Mercurial для запуска нового проекта, похожего на существующий - PullRequest
1 голос
/ 24 июля 2010

У меня есть проект в хранилище Mercurial (HG). Я собираюсь начать новый проект, который я хотел бы начать с использованием того же кода, что и упомянутый проект. Два проекта совершенно не связаны. Несмотря на то, что они делают схожие вещи, каждый из них предназначен для разных клиентов, носит разные имена, разные бренды, разные произведения искусства.

Мой вопрос:

Какой будет рекомендуемый подход:

  1. Клонировать (hg clone) проект и начать вносить изменения?
  2. Архивирование (hg archive) проекта и создание нового хранилища (hg init) для архивированной копии?
  3. Любой другой вариант, который я не рассматриваю?

Большое спасибо.

Ответы [ 3 ]

5 голосов
/ 24 июля 2010

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

3 голосов
/ 24 июля 2010

Если он использует «точно такой же код, что и упомянутый проект» и отличается только брендингом, то вы, вероятно, захотите отойти от исходного проекта.Хотя изначально вещи идентичны, требования клиентов могут позже расходиться (читайте ветку).Также файлы содержимого начнут различаться.

Краткий ответ: Да, клонируйте и разветвляйте каждый проект.С распределенным контролем версий вы всегда можете объединить, если вам нужно.

1 голос
/ 24 июля 2010

Прежде чем принять чей-либо (правильный!) Совет для ветки, прочитайте эту статью: http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ и решите, какой из многих допустимых способов ветвления в Mercurial подходит именно вам. Люди слышат «ветвь» и используют hg branch, который является одним из способов ветвления, но не единственным или обязательно правильным.

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

...