P4V v2011.1
p4v现在所做的是同步我想要同步的文件夹下的所有内容。但是,在我的例子中,该文件夹可能有许多子文件夹,其中我可能只需要同步其中的50个并跳过另50个子文件夹。因为我们不想浪费带宽来传输不想要的文件,所以也不要右击50个子文件夹来单独同步。是否有一种简单的方法来只同步我工作区中的文件?
发布于 2012-03-28 09:08:05
可以通过命令行使用#have说明符。
p4 fstat -T depotFile //...#have | p4 -x – syncp4 fstat -T depotFile //...#have返回当前工作区中文件的仓库文件。p4 -x – sync从前面的命令(使用管道|)获得输出,并进行同步。..。
如果您想在P4V中这样做,可以编写一个调用WSH脚本的定制工具。
var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("p4 fstat -T depotFile //...#have | p4 -x – sync");
while (oExec.Status == 0)
WScript.Sleep(100);
WScript.Echo(oExec.Status);注意:使用上述方法与#have一起使用的不会同步任何新添加的文件。不知道这是不是你想要的。
另一种方法完全是创建一个批处理文件,该文件同步所需的文件。我有一个每天早上运行的,它同步多个分支和项目。
要创建自己的记事本,打开记事本,然后一个接一个地添加必要的p4 sync命令。
p4 sync //projectA/...
p4 sync //projectB/folder1
p4 sync //projectB/folder2
...
p4 sync //projectB/folder5一开始需要做的一些工作。
或
也许比批处理文件或脚本使用更好,使用两个工作区,第一个工作区映射完整的仓库,第二个工作区使用90%的时间所需的有限映射。
发布于 2012-03-28 14:00:49
如何编辑工作区视图,使其只指定您明确希望的文件夹,并避免使用“.”通配符递归地包含子文件夹?
https://stackoverflow.com/questions/9903126
复制相似问题