【问题标题】:How can I sync my custom CodePlex Mercurial fork against the main trunk?如何将我的自定义 CodePlex Mercurial 分支与主干同步?
【发布时间】:2011-03-31 23:57:57
【问题描述】:

我已经创建了一些 codeplex 项目的分支。完成了一些额外的代码等,甚至将我的自定义代码拉入了源代码控制仓库。

在我自己开发 fork 的那几周和几个月里,他们的主干已经更新了。

如何将我的代码与中继的代码同步?

(我想将我的代码与主干同步的主要原因是他们升级到了 vs2010,而我仍在使用 vs2008 项目版本:()。

【问题讨论】:

  • 您在寻找 mercurial merge 命令吗?
  • @borealid - 合并?也许:) 有关如何使用它的任何信息(在我搜索它之前)。
  • 你有你的本地 HG 树,你通过hg pull 拉入他们的远程 HG 头,然后你用hg merge 合并两个头。

标签: version-control mercurial codeplex trunk


【解决方案1】:

我刚刚遇到了同样的问题,最终来到了这里。虽然上面的 cmets 得出了正确的答案,但对于想要为开源项目做出贡献的 Mercurial 新手来说,它们可能并不适合。

普通的hg pull 只会将任何更改从您的 fork 拉到您的本地克隆存储库,在这种情况下没有帮助。有一个可选参数[SOURCE] 允许您改为从主干中拉出。

这里是完成这项工作所需的 Mercurial 命令行命令(为您想要的 CodePlex 项目相应地替换“someprojectname”,或者,对于类似的系统,将整个 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

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多