Как я могу синхронизировать мой пользовательский вилка CodePlex Mercurial с основной магистралью? - PullRequest
5 голосов
/ 19 августа 2010

Я сделал развилку какого-то проекта кодекса.Сделали дополнительный код и т. Д. И даже перетащили мой пользовательский код в репозиторий с исходным кодом.

За те несколько недель и месяцев, с тех пор как я работал над своим собственным форком, их основной ствол был обновлен.

как я могу синхронизировать мой код с транком?

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

1 Ответ

9 голосов
/ 02 декабря 2011

Я просто столкнулся с той же проблемой и оказался здесь.Хотя приведенные выше комментарии приводят к правильному ответу, они не могут сократить его для новичка в Mercurial, который хочет внести свой вклад в проект с открытым исходным кодом.

Обычный hg pull только извлечет любые изменения из вашей веткив ваш локальный клонированный репозиторий, в этом случае бесполезно.Существует необязательный параметр [SOURCE], который позволяет вместо этого извлекать данные из транка.

Вот команды командной строки Mercurial, необходимые для выполнения работы (замените «someprojectname» соответственно для желаемого проекта CodePlex или,для аналогичных систем замените весь URL-адрес URL-адресом ствола вашей вилки [против URL-адреса вашей вилки]):

  1. [Необязательно] Посмотрите, какие наборы изменений находятся в транке, но не в локальном репозитории: hg incoming https://hg01.codeplex.com/someprojectname
  2. Извлечение новых наборов изменений в ваш репозиторий: hg pull https://hg01.codeplex.com/someprojectname
  3. Объединение этих изменений в ваш собственный код (разрешение конфликтов соответственно): hg merge
  4. Передача результатов в ваш локальныйрепозиторий: hg commit -m "Some message about merging changes from trunk."
  5. Передайте обновленную версию своего кода из локального репозитория на ваш форк на CodePlex: hg push
...