我能否在BitBucket上像Github一样启用自动更新拉取请求描述以进行提交后的拉取请求?

11

我能否在BitBucket Cloud上为创建pull-request后提交的代码启用自动更新PR描述,就像Github一样?

场景:

  1. 我完成了一些工作并进行了最后一次提交。

  2. 我在BitBucket Cloud(bitbucket.org)上创建了一个pull request。默认生成的PR描述包括组成pull request的git提交消息。

  3. 在PR创建后,我后来意识到需要再推送一个提交。

  4. 该提交的代码按预期添加到了pull-request中。

  5. 提交消息未添加到pull-request描述中,因此审核人员无法了解添加的代码的上下文或可见性。他们甚至可能已经部分审核并错过这些新更改。

是否有一种方法可以像GitHub一样自动将提交消息添加到pull-request描述中?


我建议删除git标签,因为这似乎是一个纯粹与Bitbucket相关的问题。 - Daemon Painter
2个回答

1

显然,截至2014年,根据您的情况描述,bitbucket应该自动更新。 有一些辩论持续了相当长的时间,但最近Atlassian表示

鉴于近年来对这个问题的讨论相对较少, 并且由于团队目前专注于更高优先级的事项,我正在关闭此问题以表明我们不打算在 近期解决这个问题。

更新不是立即进行的,但应在合并另一个Pull Request之后发生(尽管这很奇怪)。

总之,似乎Bitbucket不会很快将该功能作为优先事项或改进其当前行为。


1

很遗憾,Atlassian似乎不太可能为这个问题提供完全自动化的解决方案。

在无法实现完全自动化的情况下,我编写了以下适用于Linux/macOS/WSL的脚本,使用git命令行接口生成给定分支的提交列表,并以适合直接粘贴到BitBucket PR描述字段的格式进行格式化:

#!/bin/sh
DISPLAY=
exec git log -n40 --pretty=format:'#### %C(yellow)%h %ad%C(reset) ####%n%B' "$@" 

当您在推送一些新的提交到PR分支时,此脚本使手动更新PR描述更加容易。假设您已经将脚本命名为gitlog-md,则可以使用可选的分支名称参数调用它来命名您的PR分支,例如:

$ gitlog-md fork/issue499

它将输出提交日志,您可以将其复制/粘贴到PR描述中。结果与BitBucket Cloud默认生成的不完全相同(它使用我自己认为更具信息性的格式),但您当然可以修改脚本以生成不同的输出。请注意,默认情况下它不会在分支创建点停止,因此您需要在第一个PR提交处截断输出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接