我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
当前回答
我使用rsync:
# copy folder src to srcStripped excluding subfolders named '.svn'. retain dates, verbose output
rsync -av --exclude .svn src srcStripped
其他回答
在Windows上,你可以在资源管理器右键菜单中添加一个快速链接。 启动这个注册表脚本:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
这将添加一个名为“删除SVN文件夹”的项目到您的右键菜单。这将删除该文件夹中的所有。svn文件夹及其所有子文件夹。
来源(德语):http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
从Windows命令行:
rmdir .svn /s /q
另外,如果您正在使用TortoiseSVN,只需导出到当前的工作副本位置,它将删除.svn文件夹和文件。
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Subversion 1.7的更新答案: 在Subversion 1.7中,工作副本已被广泛修订。只有一个.svn文件夹,位于工作副本的底部。如果您使用的是1.7,那么只需删除.svn文件夹及其内容就是一个简单的解决方案(无论使用TortoiseSVN还是命令行工具)。
只需删除所需文件夹中的.svn文件夹,然后控件将自动删除。
试试svn export。
你应该可以这样做:
svn export /path/to/old/working/copy /path/to/plain/code
然后删除旧的工作副本。
TortoiseSVN也有一个导出特性,其行为方式与此相同。