假设您有一个 subversion 存储库,其目录 /trunk/huge 很大(数千个文件 > 1G)并且不会经常更改。
你仔细检查一下,避免 /trunk/huge,例如
svn co --depth immediates ^/trunk trunk
for f in trunk/*; do
if [ "$f" != "trunk/huge" ];
then
svn up --set-depth infinity $f;
fi;
done
稍后你突然需要 ^/trunk/huge 下的文件。
获得它的标准方法是改变它的“深度”
svn up --set-depth invinity trunk/huge
这有效,但是
- 必须通过网络传输大量数据
- 在 subverion 服务器上增加负载
- 需要很长时间
假设我之前检查过 ^/trunk/huge 并制作了一个 .tar.gz 文件。现在我想把那个 .tar.gz 放在我的本地工作副本上。如果我简单地把它放在那里,subverion 会认为它是“未知的”,例如:
svn st
? trunk/huge
如果我尝试将深度设置为无穷大,trunk/huge 会得到更新,但 svn 仍然认为它是未知的。
svn up --set-depth infinity trunk/huge
At revision 8655.
svn st
? trunk/huge
我如何告诉 subversion 这个“未知”目录现在是真实事物的“非稀疏”检出?