如何在TeamCity中有效地获取Mercurial更改日志?

Jon*_*eet 29 teamcity mercurial

我希望我的Noda Time持续构建 - 由我家中的私有TeamCity服务器托管 - 将Mercurial日志作为XML文件获取.源代码托管在Google Code上.这样我就可以在公共网站上使用它进行基准浏览.这一切都是一项正在进行的工作,但它基本上已经开始走到了一起.

我希望将日志作为TeamCity构建的一部分获取很简单.毕竟,它已经获取了源代码以执行构建.从普通的存储库目录,我可以运行:

hg log --style xml > hg-log.xml
Run Code Online (Sandbox Code Playgroud)

不幸的是,据我所知,Team City中的"checkout"目录不是一个真正的Mercurial存储库 - 它只是适当提交时存储库内容的副本.这意味着我无法hg log在该目录中运行......或者到目前为止我能够找到的任何其他目录.在没有预先构建参数似乎有一个本地仓库路径,但我希望我已经错过了一个.

我目前的解决方法是再次获取源代码作为构建的一部分(当然只是默认分支),然后使用它来获取日志.它有效,但感觉非常浪费.

这不是我清楚如何或在哪里TeamCity的实际执行源结帐-我真的希望有一个本地回购的地方,我可以用它来获取日志.

Luc*_*jer 21

您是否将代理商结帐设置设置为" 代理商 "?

默认情况下,服务器执行检出,然后将位发送到客户端.

你可以在这里找到设置:

图片

  • 万岁 - 这似乎有效:) (7认同)

mat*_*tyB 8

尝试签出'自动代理'.这应该使结帐目录成为实际的回购.


Boj*_*vic 7

告诉TeamCity签出代理.这样,您的构建代理将运行hg,代理上的checkout目录将是您可以运行的repo hg log --style xml > hg-log.xml.