每次提交时都会显示消息“您尚未输入问题编号”

问题描述 投票:0回答:3

每当我从 TortoiseSVN 签到时,都会显示一条消息,如下面的屏幕截图所示。

You haven't entered an issue number

在没有问题编号的情况下单击继续后,它将进行提交。我不确定如何避免此消息或如何在提交时提供问题编号。

有人可以提供这两种解决方案吗?

下面是问题跟踪器集成属性的截图

enter image description here

下面是Edit BugTraq Properties的截图

enter image description here

svn tortoisesvn
3个回答
2
投票

您的正则表达式属性格式错误或位置错误,或两者兼而有之。 根据 TortoiseSVN bugtraq 文档,正则表达式属性是用换行符分隔的两个字符串,或者一个字符串。对于单字符串方法,您只需要捕获捕获组中的错误ID;对于双字符串方法,第一个正则表达式捕获包含错误 ID 的字符串,第二个正则表达式从第一个正则表达式提取的字符串中提取实际错误 ID。您有一个正则表达式,将多个项目包装在捕获组中,包括整个匹配的字符串。如果您真的想将整个 ALMCRxx 字符串作为错误 ID 与单个正则表达式进行匹配,您可能需要使用一些非捕获组,例如

((?:ALM|alm)(?:cr|CR|rq|RQ)\w+)
.

如果您不想将整个字符串作为错误 ID,则需要调整捕获组,或使用双正则表达式方法。

如果您使用对话框中的第二个“Bug-ID 表达式”框,您将始终使用双字符串方法。所以在你的例子中,你已经输入了一个正则表达式来从匹配的字符串中提取错误 ID,但是你没有输入模式来首先匹配字符串。因此 TortoiseSVN 永远不会找到任何错误字符串。

单击正则表达式编辑框旁边的小空按钮,允许您在提交消息上测试正则表达式。如果我将您的正则表达式放入“消息部分表达式”框中而不是“Bug-ID 表达式”,则示例提交消息中会突出显示诸如 ALMCR55 之类的字符串。如果我把它留在你拥有它的“Bug-ID 表达式”编辑框中,没有任何亮点。

我不确定您是否需要第二个字符串来提取一段 ALMCR55 文本,但至少您需要在“消息部分表达式”中包含一些内容。


1
投票

您有任意文本,在您的提交消息中由正则表达式解析

(Bug-Id expression): ((ALM|alm)(CR|RQ|cr|rq)\w+)
。例如,这将起作用:

- here is my issue fix: ALMCR55

如您所见,

ALM
CR
55
出现在您的提交消息中。 TortoiseSVN 还应在您的提交消息中突出显示此文本。

现在您唯一需要弄清楚的是从哪里获取错误 ID(我猜是从您的错误跟踪器中获取)。


0
投票

以下答案适用于当前(2023 年)版本的 Tortoise Git

回避问题

  1. 打开 Git 设置
  2. 转到“挂钩脚本”>“问题跟踪器配置”
  3. 在“Config source”中,选择所需的范围(“Project”如果你只想为这个项目禁用它,或者“Global”如果你想为所有项目禁用它)
  4. 在“BugTraq”部分,清空字段
    buqtraq.url
    bugtraq.message
    ,并确保
    ☐ inherited
    没有被选中
  5. 在“有效”下检查那些字段现在为空,然后单击确定

=> 该消息现在不应再出现

提交时提供问题编号

这是假设您的问题可以在如下地址下找到:http://my.bugtracker.address/KEY-1234

  1. 和以前一样,导航到“Hook Scrips”>“Issue Tracker Config”并选择所需的范围
  2. 在“BugTraq”部分,在
    bugtraq.url
    下,这样写URL:http://my.bugtracker.address/KEY-%BUGID%
  3. 在同一部分,在
    bugtrack.message
    下,写:%BUGID%

=> 现在,Tortoise Git Commit 窗口的右上角应该有一个“BUG-ID/Issue-Nr”字段,您可以在其中提供问题编号,如果此字段未填写,则警告消息从问题会弹出

© www.soinside.com 2019 - 2024. All rights reserved.