由于我在网上任何地方都找不到上述问题的答案,所以我自己带着答案来了。这是一个手动过程,但我找不到任何其他标准解决方案。所以这里是:
假设要从目录test.txt中删除work文件。现在,如果您强制删除test.txt
rm -rf test.txt
命令,然后在下一个svn上,在work dir (或它的任何父目录)上,文件将被还原。因此,诀窍是从..svn/entries文件中删除它。因此,仅从工作副本中删除test.txt的完整命令序列如下:
cd work
rm -rf test.txt
svn st     #it shows ! sign beside test.txt which means that 
       #in the next **svn up** it will be restored
chmod u+w .svn/entries
vi .svn/entries
#delete the lines associated with test.txt
#you need to delete the following 3 lines from .svn/entries
#test.txt
#file
#^L
svn st #it doesn't report test.txt anymore发布于 2013-08-30 20:49:58
lallafa 报告是一种很好的方法,基于所谓的稀疏目录
svn update --set-depth exclude <folder-to-delete>不好的情况是:
svn 1.6,该方法只需1小时,而在svn 1.7上则要超过50个小时。这是在2011年。从来源添加
如果以后想再次使用该目录,可以这样做。
svn update --set-depth=infinity <folder-to-delete>我希望我知道如何以这种方式列出已经“排除”的目录,因为st不会显示它们。:D
同一个来源的人称为'Mike5‘(或jed/jed)中另一种在目录上工作的方法:
对于要避免更新的每个目录,请执行以下操作
svn switch --ignore-ancestry http://dummy/exists/but/empty_folder some_foldersome_folder替换为要忽略的文件夹。http://dummy/exists/but/empty_folder替换为存储库中的现有路径,该路径是一个空目录,将永远不会被更新或删除--据说是为此目的创建和专用的。通过这一点,你将实现:
你将无法实现:
--depth进行“直接”签出,首先执行此操作,然后继续签出(未测试)。在专用的空目录上使用svn propset svn:ignore "*" empty_folder也是个好主意,因此没有人可以对其提交任何内容。
https://stackoverflow.com/questions/17581744
复制相似问题