如何将Bitbucket存储库与托管的按需版本FogBugz集成在一起?
我使用的是FogBugz的按需(托管)版本。我想开始使用Mercurial进行源代码控制。我想集成FogBugz和BitBucket存储库。
我尝试了一下,但进展并不顺利。
FogBugz要求我们将Mercurial客户端连接到fogbugz.py python脚本。 TortoiseHg似乎没有说明中引用的hgext目录。
那么,有人成功完成了类似的工作吗?
解决方案
从它的声音来看,我们想在本地计算机上运行钩子。挂钩和说明旨在在中央服务器上使用。
如果我们是存储库中唯一的工作人员,或者不介意在进行拉取之前不出现在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并记录日志信息。该脚本发送回购的URL,这在[web]部分的baseurl设置中。我们希望该URL是Bitbucket存储库的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服务器和摘要的部分。
验尸:
Bitbucket现在具有本地fogbugz支持以及其他回发服务。
http://www.bitbucket.org/help/service-integration/
请注意:Fog Creek发布了Kiln,它提供了与FogBugz紧密集成的Mercurial托管,不需要任何配置。
我通常不会在Stack Overflow上"做广告"(免责声明:我是Kiln开发人员之一),但我认为这直接回答了最初的问题。