我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
当前回答
答案非常简单——导出文件夹到它自己!TortoiseSVN检测到这种特殊情况,并询问您是否希望使工作副本无版本控制。如果回答“是”,则控制目录将被删除,您将拥有一个普通的、未版本化的目录树。
其他回答
试试svn export。
你应该可以这样做:
svn export /path/to/old/working/copy /path/to/plain/code
然后删除旧的工作副本。
TortoiseSVN也有一个导出特性,其行为方式与此相同。
在Linux上,这将工作:
find . -iname ".svn" -print0 | xargs -0 rm -r
另一个(更简单的)Linux解决方案:
rm -r `find /path/to/foo -name .svn`
最好最简单的方法
如果你认为你可以通过一个简单的魔法命令获胜,你就失败了!SVN真的很棘手,总是在Xcode中以某种方式返回一个新的错误消息。迟早,答应我…所以你得聪明点!
如你所知,Xcode下的常规和最佳实践是删除左边项目窗格中的文件。如果你错过了它,并以某种方式在Finder中删除了它,你就有麻烦了。大麻烦!但如果你做得好,你可以解决它,并节省时间。
首先,您需要删除SVN对文件或文件夹的引用,然后才能实际删除它
如果你能把文件/文件夹从垃圾箱里放回去,或者在你删除它的时候撤销最后一步,那么…… 去终点站——是的,那个不错的老终点站——然后去那个地方。 最好的方法是输入cd,然后将文件夹/文件拉到终端。你会得到类似的结果
cd /用户/用户名/文件/ Apps_Developing /…
你可以看看你在哪里
ls
命令列出您的文件。
然后使用svn命令删除svn引用: svn delete——keep-local fileName_toDelete
这将从SVN存储库中删除文件,但是您必须在Finder中手动删除它。
Linux下不带subshell删除。svn文件夹:
find . -name .svn -exec rm -r -f {} +
rm = remove
-r = recursive (folders)
-f = force, avoids a lot of "a your sure you want to delete file XY".