2013-03-27 33 views
3

我们使用Opscode公司厨师在我们的管道,我们注意到,部署(见http://docs.opscode.com/resource_deploy.html)创建了我们的源代码到/共享/缓存拷贝的完整副本Opscode公司厨师 - 的方式来清理/共享/缓存拷贝

在它的.git/object文件夹中它已经有近千个完整版本(不只是deltas!),因此可以实现文件的增长和增长。

有没有什么办法让这个清理,甚至完全防止?我们根本不需要它。

当然,我可以写一些东西在每次部署后删除目录,但有没有一种好的方法来处理这个问题?谢谢。

+0

请不要忘记标记答案是正确的! :) – sethvargo 2014-01-01 18:21:40

+0

好吧,我会如果有答案。 – Calmon 2014-01-17 13:32:53

+0

第一个答案有什么问题? – sethvargo 2014-01-17 17:19:39

回答

1

缓存副本有一个目的,当git从远程获取更改时,缓存副本只用于拉取丢失的内容,不再提供。然后这个缓存副本使用git克隆到一个新版本,当git在同一磁盘上克隆存储库时,它会创建硬链接 - 因此,您的.git /对象不会被重复,它们是在所有“副本”之间共享的相同文件。我建议你不要改变这个目录,这实际上很重要。

+0

:rep​​ository_cache \t保存应用程序源的原始副本的子目录的名称。默认值:缓存副本。它是一切的完整副本。 – Calmon 2013-04-09 07:31:11

1

我们看到了不同的东西。在我们的例子中,我们使用子模块。当一个子模块被移除时,git pull不会移除旧的子模块目录。所以我们留下垃圾。使用此额外代码将缓存副本复制到发行版中。