如何使用 Mercurial 自动合并 2 个头

2024-01-06

我们刚刚从 subversion 切换到 Mercurial,有一件事比预期花费了更多的时间;合并头。

我们喜欢这样一个事实:它使合并独立于 2 个提交(与 subversion 相比),但我们最终会定期合并 2 个头以进行不相关的更改。

简单的场景。 我和鲍勃都了解最新情况。 我们都在默认(也称为主)分支上更新了 ou 仓库,并在不同的文件中进行了改进。

我们承诺,只有一台能够推送到中央服务器,另一台将创建 2 个头。然后,拉,选择 2 个头,合并(这会很容易,因为更改是在不同的文件上)。承诺,然后推动。

因此,是否有一个扩展可以执行这些步骤 尝试合并 如果没有冲突的话 犯罪 别的 取消合并

我们希望在自动化服务器上​​运行它,因此如果它是命令行则+1,如果它可以在不接触工作副本的情况下进行合并,则另一个+1。

Thanks!


Update:
我们最终做了一些 python 脚本来管理最常见的任务(合并和构建;合并 2 个头)。

谢谢您的帮助!


听起来你应该能够使用hg fetch为了这。它将从服务器提取更改、合并,然后自动提交合并。它也会提示合并冲突。它包含在 Mercurial 中,因此只需添加

fetch =

到你的 hgrc,你应该已经准备好了。它不会自动推送,但这通常是一个坏主意。在将代码推送给其他人之前,您通常需要运行测试并解决任何合并问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Mercurial 自动合并 2 个头 的相关文章

  • 使用 Mercurial 自动构建的版本编号

    我们最近从 SVN 切换到 Mercurial 我们还设置了一个 CruiseControl NET 来运行自动构建 它从源代码控制中获取最新信息并构建应用程序 在用于自动构建的 CruiseControl NET 仪表板中 我们希望显示版
  • 在unix、bash中合并csv文件

    我有一些 csv 文件 其格式如下 测试1 csv field port1 a1 0 2 a2 0 3 a3 0 6 测试2 csv field port2 b1 0 5 b2 0 6 b3 0 7 b4 0 1 b5 0 5 测试3 cs
  • 如何克隆存储库并保留文件时间戳?

    如何从新机器上的服务器获取源代码的副本 但保留文件时间戳 通过以下步骤 所有时间戳均设置为当前日期 时间 手动创建存储库的根文件夹 光盘放入其中 执行一个hg init 使用 TortiseHg 将存储库从服务器克隆到文件夹 是否有一个选项
  • 反加入熊猫

    我有两个表 我想附加它们 以便仅保留表 A 中的所有数据 并且仅在其键唯一时添加表 B 中的数据 键值在表 A 和 B 中是唯一的 但在某些情况下键将出现在表 A 和 B 中 我认为执行此操作的方法将涉及某种过滤联接 反联接 以获取表 B
  • 为什么MERGE语句的目标表不允许启用规则?

    我们有一个使用以下 SQL 更新数据库的过程 IF NOT EXISTS SELECT FROM Target Table WHERE Target Table ID BEGIN INSERT END ELSE BEGIN UPDATE E
  • 如何在运行“更新”之前查看存储库中的文件

    I run hg pull这向我的存储库添加了新的更改 在使用新更改更新我的工作目录之前 我想查看这些新文件 更改 我相信我使用的 SVNsvn st u但在 Mercurial 中是如何完成的呢 在拉动之前 您可以使用 hg incomi
  • 是否有任何 git merge-strategies 可以忽略提交上的子模块更新或分支合并到目标分支?

    我的用例是 我有一个包含子模块的存储库的两个分支 我想设置这两个分支的自动集成 但是 只要两个分支上都有子模块更新 我的自动集成脚本就会因子模块冲突而失败 有没有办法让 git 在合并过程中忽略子模块指针的变化 或者提供类似的东西merge
  • 如何在 Perl 中将多个哈希值合并为一个哈希值?

    在 Perl 中 我如何得到这个 VAR1 999 gt 998 gt 908 906 0 998 907 VAR1 999 gt 991 gt 913 920 918 998 916 919 917 915 912 914 VAR1 99
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • Mercurial:使一个分支与另一个分支相同

    我正在与另一位相对较新的开发人员合作 为了让我能够对她的工作进行代码审查 我让她创建了一个分支 我可以审查该分支 如果我对更改感到满意的话 还可以定期合并该分支 该分支已被清除 所以我只想 重置 它 使其与主线相同 这样她就可以从干净的代码
  • 如何欺骗 git-svn 来识别使用 svn 进行的合并?

    我们有一个 SVN 设置 具有稳定的主干和不稳定的开发分支 开发工作 大部分 在分支上完成 然后在部署之前合并到主干 我使用 git svn 作为我的 SVN 客户端 我从unstable到trunk的合并过程如下 git svn fetc
  • 基于公共列合并数据帧,但保留 x 中的所有行[重复]

    这个问题在这里已经有答案了 我需要合并两个数据框x and y其中有大约 50 列公共列和一些独特列 我需要保留所有行x 如果我运行它会起作用 NewDataframe lt merge x y by c ColumnA ColumnB C
  • 合并 Perl Hashref 和 unique

    我有两个 Perl 哈希值 内容如下 First VAR1 name1 gt adam bob name2 gt Miller Schumacher Second VAR1 name1 gt tina jason jeff
  • 在外部 3 向 diff 工具中查看已提交的 Git 合并

    有什么方法可以查看已在 3 路差异中提交的合并吗 如果 3 周前进行了分支之间的大规模合并 有什么方法可以在一个版本中看到它的 3 路差异吗 外部差异工具喜欢 BeyondCompare3 吗 我在找只是合并提交中更改的文件 如果我能让它只
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • gitlab 请求将分支 A 合并到开发中(落后 3 次提交)我应该担心吗?

    在 gitlab 中创建合并请求时 我经常收到一条消息 请求将分支 A 合并到开发中 x 提交落后 gitlab想告诉我什么 我应该担心还是需要修复某些东西 什么 一段时间后合并请求在项目中打开时 由于其他人合并了自己的更改 您尝试合并到的
  • 合并 2 个大型 CSS 文件的有效方法

    我正在寻找一个可以合并 2 个大型 CSS 文件的工具 到目前为止我尝试过的所有方法 例如CSSMerge 都没有成功 其中一些只是随机删除属性 其他人则因 webkit 和 moz 等非标准属性而窒息 并给我错误 我还需要保留每条规则大小
  • Mercurial 到 Bitbucket - 子存储库 - 存储库是不相关的错误

    以下是我构建存储库和子存储库所采取的步骤 一切都托管在 Bitbucket 上 根据最佳实践 创建了一个骨架存储库来保存所有子存储库 克隆到我的机器上 将主项目克隆为 subrepo1 在 mainrepo 目录结构内 将主项目添加到 ma
  • 如何解决这一 Mercurial 冲突?

    我对 Mercurial 和 Python 感到沮丧 因为它们让简单的事情变得困难 我有一个微不足道的冲突 由于 Mercurial 没有给出任何建议 我什至不知道如何解决这个微不足道的文件冲突 冲突是微不足道的 但如果我不能解决这个问题
  • 为什么“hg status”显示更改的文件,而“hg diff -g”则不显示? (一位家长)

    我有一个存储库 其中 gt hg st 显示我的工作目录有一些未提交的更改 而 gt hg diff gt hg diff g gt hg diff git 不显示任何内容 我在这里读到 4 10 hg status 显示更改的文件 但 h

随机推荐