2011-07-08 295 views
0

我们在我的工作中使用SVN作为设计资产的巨大服务器。我喜欢将我们的服务器的根目录保留下来,这样我就可以在组织更新目录层次结构时对其进行更新。但他们是在我不会触及...的某些目录...,他们是巨大的... 15 GB +。忽略SVN中的目录

我想要rm这些目录,并且让它们不会从根目录中退出。这可能吗?

+0

选中此http://stackoverflow.com/questions/50945/can-you-do-a-partial-checkout-with -subversion – pmod

回答

1
svn propset svn:ignore <dir> 

将忽略目录。

+0

如果我告诉它忽略一个目录,然后删除该目录,那么不会忽略该目录的标志消失吗?我想确保它下次不会再下载。 –

+0

如果您未对初始结帐后永不下载的目录进行更改。 Svn会将存储库中的“更改”复制到本地结帐中,而不是整个存储库本身。 – Grammin

+0

如果你这样做,你需要小心,永远不要检查物业的变化。 –

2

我不确定你可以完全按照你所描述的来做,但你可以明确地做相反的事情:只检出你需要的目录。该功能被称为Sparse Directories

3

您需要的是不要忽略这些文件夹(因为忽略意味着将它们设置为不在存储库中),而是控制结帐的深度。

您可以使用来签出您的根目录--depth immediates选项此选项仅用于签出根目录的子文件夹。然后往里走,做你所需要的文件夹或结账相同与--depth无限目录中,您有兴趣。

PS GUI SVN客户喜欢TortoiseSVN让这个过程更加方便。

3

如果您正在检查新鲜事物,请使用pmod的答案来避免下载GB。如果你已经有了一个工作副本,你可以重置与深度:

svn update --set-depth empty <dir> 
+0

谢谢您的补充。 --set-depth的参数是:empty,files,immediates,infinity和exclude(http://code.google.com/p/svnbook/issues/detail?id=78) – pmod

+1

或''svn update - 设置深度排除“来排除目录而不是保持空白。 (需要Subversion 1.6+用于目录或1.7 Alpha +用于排除单个文件) –