当前位置:  开发笔记 > 编程语言 > 正文

如何防止SVN更新存储库中已有的目录

如何解决《如何防止SVN更新存储库中已有的目录》经验,为你挑选了2个好方法。

我不认为这不是一个标准的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
$ svn checkout url/to/repo/unwanted-directory unwanted-directory --depth empty
$ cd root/of/my/tree
$ svn update
< - unwanted-directory未从存储库获取

作为参考,我们的树中有一个'prototype'目录,里面有一堆实验代码.由于我不在这个领域工作,所以我没有兴趣在我的多个开发树中使用1G来源.



1> 小智..:

我和稀疏的结账路线一样,与斯特凡提到的一样.区别在于我排除了整个目录.

这是我为排除整个目录及其所有子目录所做的工作.注意:不需要的目录已经在我的磁盘上,所以我先删除它.

$ rm -rf unwanted-directory
$ svn checkout url/to/repo/unwanted-directory unwanted-directory --depth empty
$ cd root/of/my/tree
$ svn update
< - unwanted-directory未从存储库获取

作为参考,我们的树中有一个'prototype'目录,里面有一堆实验代码.由于我不在这个领域工作,所以我没有兴趣在我的多个开发树中使用1G来源.



2> Stefan..:

你可以做一个稀疏的结账:

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 
...


很棒,正是我想要的.此外,它可以通过Tortoise SVN在不需要的文件夹上进行"更新到修订"并将深度设置为"仅此项目"或"排除".
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有