Perforce代理服务器:cachingselect性文件

我只是设置一个Perforce代理服务器工作。 我注意到caching目录正在快速填满 – 我知道我永远不需要的文件。 例如,在用户保留个人分支和其他工作的仓库中有一个“沙箱”目录; p4 sync正在导致p4代理caching抓取这些用户的沙箱时,我永远不会需要他们。 我会创build一个符号链接的沙箱目录到/dev/null但是我不会caching感兴趣的沙箱。

有没有什么办法可以告诉perforce代理的效果是“如果我没有同步它,请不要caching它?

我认为Perforce RCS和代理如何工作可能会有一些误解。 我假设你正在查看磁盘上的代理caching,并查看您不希望看到的某个库或服务器的一部分文件? 如果是这样,请检查这些文件中的一部分,我保证您会发现它们是您尝试同步的软件仓库的集成源。 除非您使用p4 snap命令来撤消在集成期间创build的所有惰性副本,否则这是“按devise”。

你不能告诉代理不要caching文件。

这里有一些选项:

  • 修改你的客户端视图,不要包含你不想要的目录,那么他们永远不会同步,并在caching中结束。 每个使用代理的人都需要做同样的事情来防止不需要的文件出现在caching中。

  • 写一个cron作业,从caching目录中删除不需要的文件夹,并让它每小时运行一次(或者如果你愿意,甚至更频繁)。 在运行时从p4p的caching中删除文件是安全的。

  • 从caching中删除旧文件,使其不受限制地增长。 有脚本可以做到这一点。

  • 添加更多的磁盘空间,以便您不必担心它:)

代理只caching你从服务器请求的内容,所以如果你“不必同步它”,它不会被caching。 如果您不希望caching整个沙箱目录,请不要同步整个沙箱目录。 只能同步你需要的东西。 这听起来像你这样做:

p4 sync //depot/sandbox/...

而不是这个(假设你的沙箱目录名为fbrereto):

p4 sync //depot/sandbox/fbrereto/...