我只是设置一个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/...