【问题标题】:Bitbucket / Mercurial: Test pull request before mergingBitbucket / Mercurial:合并前测试拉取请求
【发布时间】:2016-09-10 18:17:16
【问题描述】:

我们在 Bitbucket 上使用 Mercurial。

我团队中的某个人刚刚将主存储库克隆到了他自己的私有存储库中。他创建了一个拉取请求,我必须将其集成到主存储库中。

如何在集成到主存储库之前先测试拉取请求中的内容。我找到了solution,但它是用于 Bitbucket 上的 Git。

[更新] 屏幕截图显示,对于 Mercurial,界面未提供正确的拉取/更新链接。它只显示一个工具提示。

【问题讨论】:

    标签: mercurial bitbucket pull-request


    【解决方案1】:

    现在(2016 年 9 月 13 日)在 Bitbucket 上,如果有人私下分叉了您的 mercurial 存储库并创建了拉取请求,您(原始存储库的所有者)将无法从该拉取请求中提取更改,然后更新您的存储库。

    我认为这是因为私有分支拒绝您访问您应该获得更改的 URL。

    现在我通过请求访问私有分支来解决它。

    【讨论】:

      【解决方案2】:
      1. 两个 VCS 使用相同的(Bitbucket 的,不是特定于 SCM 的)PullRequests 特殊 URL 的想法
      2. 通过将 Git-lingua(和实体)替换为相应的 Hg 等效项,Hg 可以轻松采用 Git 解决方案。即:

        • p.1 - 原样
        • p.2-3 - hg pull URL/OF/PR(或pull -u,如果需要/您没有 THG 或 postpull = update 在 THG/)

      因此,您将 分散的历史树 添加到您的存储库(作为主线的匿名分支或新命名的分支),并且新的 tip 将指向 PR 中最顶层的变更集,其中你可以检查|检查|测试

      【讨论】:

      • 我用屏幕截图更新了问题,显示 URL 没有像教程/指南中所说的那样显示在状态栏中。
      • 我知道要使用哪些命令,但似乎如果 fork 是私有的,那么您现在至少拥有 Mercurial 存储库的 URL(也无法访问该 URL)。
      【解决方案3】:

      我遇到了同样的问题,根据从 here 检索到的信息,有一个可能的解决方法。您将 PR 作为补丁下载,然后在本地应用:

      curl -u [user]:[password] https://bitbucket.org/api/2.0/repositories/[group]/[project]/pullrequests/[number]/patch -L -o pr.patch
      hg import pr.patch --no-commit
      

      不是理想的解决方案,但它可能适用于某些用例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 2016-10-06
        • 1970-01-01
        • 2019-10-19
        相关资源
        最近更新 更多