2009-06-03 47 views
0

我正在研究与Perforce交互的脚本,该脚本除其他内容外还需要能够理解挂起的更改列表。为此,我使用'p4 describe'和'p4 opened',这很简单。例如,文件打开编辑表示像这样(从P4开通):如何从脚本中检测Perforce的“重新编辑”使用

//source/stuff/things.h#1 add default change (text) 

不能似乎要弄清楚是如何检测在用户已经支文件,然后案件在提交文件之前使用该文件上的'重新打开编辑'命令(相当于在文件上使用“p4 edit”进行分支)。提交集成前,集成文件然后使用“重新打开编辑”也是一样的。在分支情况下,文件显示为“添加”,但没有指出还有一个分支正在进行(因此上述示例可能是真正的添加或重新打开的分支)。在整合情况下,它显示为“编辑”。在这两种情况下,在我提交更改后,我都可以看到该文件已被分支/集成,但我需要能够对待处理的更改执行此操作。从理论上讲我希望看到这样的事情,在那里things.h正在支,并从thangs.h编辑:

//source/stuff/things.h#1 add default change (text) 
    branch from //source/other/thangs.h#42 

有谁知道的一种方式做到这一点?我还会提到,我运行的是旧版本的Perforce(从2004年开始),所以也许在新版本中是可行的,我只需要更新我的软件。

回答

0

我不认为这是可能的时候发出“重新编辑”。正如您已经指出的那样,reopen命令会将文件状态更改为不同的内容。我跑了一个本地测试(我正在运行2008.2)。这里似乎是在Perforce公司上,因为你的版本文件的添加/编辑状态报告的方式有些变化,但似乎你正在尝试做的仍然不能够

d:\sandbox\ctg_test>p4 integ test.txt test_branch.txt 
//ctg_test/test_branch.txt#1 - branch/sync from //ctg_test/Test.txt#1,#15 

d:\sandbox\ctg_test>p4 opened 
//ctg_test/test_branch.txt#1 - branch default change (text) 

注意,打开的命令现在显示文件状态的“分支”而不是添加,我认为它可能会显示在您的服务器版本中。但与众不同的地方:

d:\sandbox\ctg_test>p4 edit test_branch.txt 
//ctg_test/test_branch.txt#1 - reopened for add 

d:\sandbox\ctg_test>p4 opened 
//ctg_test/test_branch.txt#1 - add default change (text) 

我试图寻找与-ztag选项,看看是否有更多的信息给定:

d:\sandbox\ctg_test>p4 -ztag opened 
... depotFile //ctg_test/test_branch.txt 
... clientFile //client-mark.allender/ctg_test/test_branch.txt 
... rev 1 
... action add 
... change default 
... type text 
... user mark.allender 
... client client-mark.allender 

P4 FSTAT没有帮助的。

+0

老鼠,我害怕这可能是答案。希望别人也许会知道一些魔法,否则我可能会走运。 – Charlie 2009-06-03 22:07:27

2

p4 resolved”几乎完全符合你的要求,但不幸的是它在2007年是新的。

[C:\dfp\Common\Code\Python]p4 opened foo.py 
//buddha/Common/Code/Python/foo.py#1 - add default change (kxtext) 

[C:\dfp\Common\Code\Python]p4 resolved foo.py 
c:\dfp\Common\Code\Python\foo.py - branch from //buddha/Common/Code/Python/memdump.py#1,#30 

在用户运行“解决”之前,您可能无法检测到问题,但在提交之前必须先解决问题。

+0

非常有趣 - 感谢您的信息。即使它不适合我的旧版本,希望它可以帮助别人。 – Charlie 2009-10-24 14:27:27