在Ubuntu上使用Perforce命令行创建客户端工作区

nei*_*man 13 ubuntu perforce

我正在编写一个脚本来在Ubuntu构建机器上构建所有项目.

每个项目都存储在Perforce中,我使用p4来执行上述操作.

我使用的命令是:

p4 -u <MyUsername> -P <MyPassword> client MyWorkspace
Run Code Online (Sandbox Code Playgroud)

这运行并加载vim,然后我需要执行:wq [Enter]退出.

我可以自动保存或避免加载vim吗?

afl*_*lat 16

对于我的构建,我有一个文本文件,我在perforce中,包含我的客户端.这样我知道客户端在该构建中的样子(我不使用spec depot).

这么简单:

type client.txt | p4 client -i

或者在Ubuntu上:

more client.txt | p4 client -i

从perforce中的txt文件创建客户端.您可以通过执行a来创建文本p4 client -o <client_name>并从那里进行更改.


jhw*_*ist 6

你可能想尝试一下p4 client -i.从帮助页面:

-i标志从标准输入读取客户机规范.不调用用户的编辑器.

因此,您在脚本中构建客户端规范并将其传递给p4 client -i.此外,-t也可能有所帮助:

-t标志通过使用指定客户端的视图和选项作为模板来构造客户端视图,而不是使用现有视图或创建新的默认视图.


Mar*_*ata 5

我使用 heredocs 来最小化对临时文件的需求

export P4CLIENT=tmp_$$
p4 client -i <<HERE
Client: ${P4CLIENT}
Root: /tmp/${P4CLIENT}
Stream: //OurStreamDepot/${branch}
HERE
Run Code Online (Sandbox Code Playgroud)

您只需要指定Client:,Root:Stream:字段(或者View:如果您使用旧的 //depot 样式)