如何将bitbucket存储库与托管的按需版本的FogBugz集成?

car*_*ier 9 fogbugz mercurial dvcs tortoisehg bitbucket

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

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

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

jes*_*ern 15

验尸:

Bitbucket现在拥有本地的fogbugz支持,以及其他后期服务.

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


Ste*_*sek 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
Run Code Online (Sandbox Code Playgroud)

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

[hooks]
commit=python:hgext.fogbugz.hook
incoming=python:hgext.fogbugz.hook
Run Code Online (Sandbox Code Playgroud)

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

^REPO/log/^R2/^FILE
Run Code Online (Sandbox Code Playgroud)

以及你的差异网址:

^REPO/diff/^R2/^FILE
Run Code Online (Sandbox Code Playgroud)

当钩子脚本运行时,它连接到你的FB安装并向它发送一些参数.这些参数存储在DB中,用于生成差异和日志信息的URL.脚本发送repo的url,这是在[web]部分的baseurl设置中.您希望此网址成为您的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>/
Run Code Online (Sandbox Code Playgroud)

需要记住的一件事是,在您将这些更改实际推送到bitbucket之前,FB可能会收到签到通知.如果这是原因,那就推动事情就行了.

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