我不认为这不是一个标准的svn忽略问题.
我有一个存储库,里面有一个我不想要的巨大目录.因为别人使用存储库这样做,我不能只从树中删除它.但是,每次我做svn时我都不想重新下载这个目录.我可以理解ignore会阻止我上传到svn的目录,但我怎么能告诉svn我不想让它重新下载已经在存储库中的特定目录.
我所做的...
svn up rm badDirectory
然后未来svn up重新下载它.我想防止这种情况.
谢谢!
编辑:好的.我希望SVN有一个内置选项,我还没有注意到.我希望避免不得不"破解"颠覆的不足之处,但下面的选择似乎是可接受的选择.
再次编辑以解决几条评论:
是否有特殊原因导致您无法签出该文件夹并保留该文件夹?没有磁盘空间(可能因为你可以退房)?安全原因?
我可以查看该文件夹.整个svn存储库大约291兆...它的290个在这个"坏"目录中.基本上,其他一些控制存储库的人(因此可以决定那里的内容)会在那里放置一个真正不需要存在的目录.我并不是说这是关于政策和使用svn的"正确和正确"方式的问题.我只是想知道是否有技术解决方案.
您能否更好地描述存储库的树结构?是否存在与错误目录相同级别的文件,或仅存在其他目录? -
基本结构:
repository root - good dir 1 - plenty of subdirs in all of these directories - good dir 2 - good dir X - bad dir 1 - bad dir 2 - bad dir X - good file 1 - good file 2 - good file X
小智.. 18
我和稀疏的结账路线一样,与斯特凡提到的一样.区别在于我排除了整个目录.
这是我为排除整个目录及其所有子目录所做的工作.注意:不需要的目录已经在我的磁盘上,所以我先删除它.
$ rm -rf unwanted-directory
< - unwanted-directory未从存储库获取
$ svn checkout url/to/repo/unwanted-directory unwanted-directory --depth empty
$ cd root/of/my/tree
$ svn update
作为参考,我们的树中有一个'prototype'目录,里面有一堆实验代码.由于我不在这个领域工作,所以我没有兴趣在我的多个开发树中使用1G来源.
我和稀疏的结账路线一样,与斯特凡提到的一样.区别在于我排除了整个目录.
这是我为排除整个目录及其所有子目录所做的工作.注意:不需要的目录已经在我的磁盘上,所以我先删除它.
$ rm -rf unwanted-directory
< - unwanted-directory未从存储库获取
$ svn checkout url/to/repo/unwanted-directory unwanted-directory --depth empty
$ cd root/of/my/tree
$ svn update
作为参考,我们的树中有一个'prototype'目录,里面有一堆实验代码.由于我不在这个领域工作,所以我没有兴趣在我的多个开发树中使用1G来源.
你可以做一个稀疏的结账:
svn co url/to/repo mywc --depth=files
这将获得一个只包含其中的文件的wc,没有子文件夹.您现在可以获得所需的所有文件夹
svn up url/to/repo/subfolder1 --set-depth infinity svn up url/to/repo/subfolder2 --set-depth infinity svn up url/to/repo/subfolder3 --set-depth infinity ...