HG 工作流程:如何从分支克隆中挑选/放弃单个变更集

发布于 2024-12-28 11:44:00 字数 302 浏览 1 评论 0原文

我认为许多开发团队的常见做法是在单独的功能克隆存储库中创建新功能或错误修复,然后在功能/错误修复准备就绪时拉回并合并回来。

但是,有时我不想包含所有传入的更改。为了利用 DVCS 的所有功能来审查传入的更改,我认为有必要能够完全修改和选择传入更改的单个方面。

此场景的首选工作流程是什么?

据我所知,移植扩展提供了选择单个变更集的可能性,但我也想在路径/文件库上进行修剪/选择,例如排除一些测试脚本或类似的东西,这对于最终功能来说不再是必需的。

既然移植是一种延伸,那么 HG 中“克隆、改变、……审查”周期的官方方式是什么?

I think it is common practice of many development teams to create new features or bugfixes in a separate feature clone repository and pull and merge back if the feature/bugfix is ready.

However, sometimes I don't want to include all of incoming changes. To harness all the power of DVCS to review incoming changes I think it is necessary to be able to fully modify and select single aspects of the incoming changes.

What's the preferred workflow for this scenario?

As far as I know transplant extension offers the possibility to pick single changesets but I would also like to prune/pick on a path/file base e.g. to exclude some test scripts or stuff like that, that isn't required for the final feature anymore.

Since transplant is an extension, what's the official way to have a "clone, change, ... review" cycle in HG?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌路黄昏 2025-01-04 11:44:00
  1. Mercurial 是以变更集为中心的 VCS,因此 - 操作对象是变更集,根本不可能在变更集中进行挑选。
  2. 在 Mercurial 中,您不能丢弃捆绑包中的一些传入变更集(但可以在 Git 中执行,AFAICR)
  3. 不是任何形式的官方方式,只是个人观点:因为在将此分支合并与主线之前,pull 会产生匿名分支你可以编辑分支内容以排除不需要的部分,使用

    • histedit - 删除更改​​,加入
    • MQ - 从分支中删除变更集,编辑变更集内容(转换为 MQ 补丁、编辑、完成、重新排序)
  1. Mercurial is changeset-centric VCS, thus - operational object is changeset, cherry-picking inside changeset not possible at all
  2. In Mercurial you can't discard some of incoming changesets in bundle (but can do in Git, AFAICR)
  3. It's not official way in any form, just personal POV: because pull produce anonymous branch, before merging this branch with mainline you can edit branch content in order to exclude unwanted parts, using

    • histedit - delete changests, join
    • MQ - remove changeset from branch, edit content of changeset (convert to MQ-patch, edit, finish, reorder)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文