9

我使用 FogBugz 的按需(托管)版本。我想开始使用 Mercurial 进行源代码控制。我想集成 FogBugz 和 BitBucket 存储库。我试了一下,但事情进展并不顺利。

FogBugz 要求您将 Mercurial 客户端连接到 fogbugz.py python 脚本。TortoiseHg 似乎没有他们在说明中引用的 hgext 目录。

那么有没有人成功地做过类似的事情?

4

4 回答 4

15

验尸:

Bitbucket 现在有原生的fogbugz 支持,以及其他回发服务。

http://www.bitbucket.org/help/service-integration/

于 2008-11-04T14:28:11.860 回答
6

从它的声音来看,您想在本地机器上运行钩子。钩子和方向旨在用于中央服务器。

如果您是唯一一个在您的存储库中工作的人,或者不介意在您进行拉取之后提交不会出现在 FB 中,那么您可以在本地将钩子添加到您的主克隆,如果您使用的是主克隆,那么您需要做一些与他们在这里所说的略有不同的事情:http: //bugs.movabletype.org/help/topics/sourcecontrol/setup/Mercurial.html

您可以将您的 fogbugz.py 放在任何您想要的位置,只需在该存储库 hgrc 文件的 [fogbugz] 部分添加一个路径行:

[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py

只要确保你已经安装了 python。您可能还希望添加一个提交挂钩,以便对存储库的本地提交也进入 FB。

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook

在 Fogbugz 安装中,您需要更改将以下内容放入您的日志 URL:

^REPO/log/^R2/^FILE

以及您的差异网址的以下内容:

^REPO/diff/^R2/^FILE

当挂钩脚本运行时,它会连接到您的 FB 安装并向其发送一些参数。这些参数存储在数据库中,用于生成差异和日志信息的 url。该脚本发送 repo 的 url,这是在 [web] 部分的 baseurl 设置中。您希望此 url 成为您的 bitbucket 存储库的 url。这将用于替换上面 url 模板中的^REPO。挂钩脚本还将修订 ID 和文件名传递给 FB。这些将替换 ^R2 和 ^FILE。所以总而言之,这是您要添加到 .hg 目录中的 hgrc 文件中的内容:

[extensions]
hgext.fogbugz=

[fogbugz]
path=C:\Program Files\TortoiseHg\scripts\fogbugz.py
host=https://<YOURACCOUNT>.fogbugz.com/
script=cvsSubmit.asp

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook

[web]
baseurl=http://www.bitbucket.org/<YOURBITBUCKETACCOUNT>/<YOURPROJECT>/

要记住的一件事是,在您实际将这些更改推送到 bitbucket 之前,FB 可能会收到签入通知。如果这是原因,请推动,一切都会奏效。

编辑:添加了关于 FB 服务器和摘要的部分。

于 2008-09-23T19:43:23.243 回答
1

提醒一下:Fog Creek 发布了Kiln,它提供了与 FogBugz 紧密集成的 Mercurial 托管,并且不需要任何配置。

我通常不会在 Stack Overflow 上“做广告”(免责声明:我是 Kiln 开发人员之一),但我觉得这直接回答了最初的问题。

于 2010-03-22T21:28:47.980 回答
1

可以将您的 GIT BitBucket 存储库与 FogBugz 问题跟踪器集成,但不幸的是它没有正确记录。

您必须按照https://confluence.atlassian.com/display/BITBUCKET/FogBugz+Service+Management中描述的步骤进行操作,但请注意

  1. 在 CVSSubmit URL 中,您需要输入没有“?ixBug=bugID&sFile=file&sPrev=x&sNew=y&ixRepository=”参数的 url。

    它应该只是“https://your_repo.fogbugz.com/cvsSubmit.asp”

  2. 您需要在 git 提交消息中提及您的 FogBugz 案例 ID,方法是在其中放入“BugzID:ID”字符串(这在任何地方都没有记录:-(),类似于:

    git commit -m "这是一个解决案例 BugzID: 42 的极好的提交"

当然,提交信息将在您将提交推送到 BitBucket 服务器之后发送到 FogBugz,而不是在您进行本地提交之后。

于 2012-11-25T22:32:47.753 回答