公司所使用的版本控制软件是 Perfoce,这个是集中式的版本控制系统。来公司之前,只知道 SVN 和 Git 这两种版本控制软件,对 Perforce 完全闻所未闻,后来网上查了查相关资料,才发现原来这个软件还挺有名的,据说 Google 内部就是用的它,而且该软件售价还不菲,看来公司真是下了不少本钱呀!

闲话少叙,话说某天忽然需要将当前目录下的所有文件提交到服务器上,这个在 Git 下面可是很容易的,只需要:

$ git add .
$ git commit

这两条命令就好了。然而到了 Perforce 这里,找了一圈,却发现根本没有相关的命令。

好吧,放狗来搜。网上看了下,发现有这个需求的人还真不少,于是也很快找到了答案。

在 Linux 平台下:

$ find . -type f -print | p4 -x - add
$ find . -type l -print | p4 -x - add -t symlink

网上的结果多数只是提到了第一条命令,运行后却发现目录下还有许多文件没有加上,仔细看了下,原来都是些软链接。在搜索结果中又翻了翻,于是又看到了第二条命令。

对于在 Windows 平台上运行的人,则需要:

C:\> dir /b /s /a-d | p4 -x - add

看了下 Perforce 的网站,发现对于 2012.1 版本或之后的,官方增加了一个命令 reconcile,可以使用下面的命令来增加目录下的文件:

$ p4 reconcile -a

这个命令我没有试过,有兴趣的可以看一下相关文档。

(完)


参考资料: