我们使用hudson作为我们的构建,我们发现如果我们使用master来构建perforce视图,则不会加载。在控制台中没有错误,除非如果它是一个新项目,perforce插件似乎检测到错误的版本并尝试加载更改列表0.除此之外,在主控制台上显示的命令完全相同哈德森用户正常工作。下面是在Linux主一个新项目建设的控制台输出(注意这并不会做其他任何事情比加载视图检查后显示没有被加载的目录。):由hudson slave加载但不是master的perforce视图
Started by user anonymous
Building on master
Clearing workspace...
Cleared workspace.
Using master perforce client: hudson_alec_test
[workspace] $ /usr/local/bin/p4 workspace -o hudson_alec_test
Last sync'd change: 0
[workspace] $ /usr/local/bin/p4 counter change
[workspace] $ /usr/local/bin/p4 -s changes //hudson_alec_test/[email protected],@5561
Sync'ing workspace to changelist 0 (forcing sync of unchanged files).
[workspace] $ /usr/local/bin/p4 sync -f //hudson_alec_test/[email protected]
Sync complete, took 259 ms
Finished: SUCCESS
下面是该输出项目一旦我把它绑定到我们MAC从(在项目配置比它结合到从其他没有变化 - 记现在正确的Perforce检测到变化并正确加载视图):
Started by user anonymous
Building remotely on xxx.xxx.xxx.xxx
Clearing workspace...
Cleared workspace.
Using remote perforce client: hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 workspace -o hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 login -p
[alec_test] $ /usr/local/bin/p4 -P xxx workspace -o hudson_alec_test--yyy
Changing P4 Client Root to: /Users/hudson/hudson_builds/workspace/alec_test/
Changing P4 Client View from:
//depot/... //hudson_alec_test--yyy/...
Changing P4 Client View to:
//depot/webservices/dev/projects/parents/... //hudson_alec_test-yyy/webservices/dev/projects/parents/...
Saving new client hudson_alec_test--yyy
[alec_test] $ /usr/local/bin/p4 -P xxx -s client -i
Last sync'd change: 0
[alec_test] $ /usr/local/bin/p4 -P xxx counter change
[alec_test] $ /usr/local/bin/p4 -P xxx -s changes //hudson_alec_test--yyy/[email protected],@5561
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5554
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5552
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5551
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5550
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5213
[alec_test] $ /usr/local/bin/p4 -P xxx describe -s 5211
Sync'ing workspace to changelist 5554 (forcing sync of unchanged files).
[alec_test] $ /usr/local/bin/p4 -P xxx sync -f //hudson_alec_test--yyy/[email protected]
Sync complete, took 409 ms
Finished: SUCCESS
现在改变回控制台输出的主控制器是:(除了将它绑定到主控制器和从控制器之外,项目配置中没有改变但现在没有文件被加载在
Started by user anonymous
Building on master
Clearing workspace...
Cleared workspace.
Using master perforce client: hudson_alec_test
[workspace] $ /usr/local/bin/p4 workspace -o hudson_alec_test
Last sync'd change: 5554
[workspace] $ /usr/local/bin/p4 counter change
[workspace] $ /usr/local/bin/p4 -s changes //hudson_alec_test/[email protected],@5561
Sync'ing workspace to changelist 5554 (forcing sync of unchanged files).
[workspace] $ /usr/local/bin/p4 sync -f //hudson_alec_test/[email protected]
Sync complete, took 229 ms
Finished: SUCCESS
我所看到的其他问题引用Perforce的哈德逊日志,但我无法找到任何Perforce的记录比控制台中显示的其他主服务器上的工作区)。任何有关如何进一步调试的建议将不胜感激。
正如我在写这个问题,我注意到,在主人的perforce插件似乎没有设置客户端视图在日志中的方式,它在奴隶。我不知道这是否与这个问题有关,但它是可疑的。
你使用的是什么版本?你遗漏了很多信息,比如Hudson版本,P4版本,P4版本,OS版本,最重要的是,Perforce插件版本。 引用的perforce-hudson日志通常是perforce轮询日志,与您的问题无关。 我会首先通过从命令行运行'/ usr/local/bin/p4 workspace -o hudson_alec_test'来检查p4是否能正常工作在你的从设备上。如果没有任何明显的问题,您可能需要直接联系开发人员寻求帮助。 ;) – rpetti 2011-06-07 00:09:55