⑴ 如何彻底删除SVN中的文件和文件夹(附恢
这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的bin目录下)如下:
# 首先将svn库整个导出
svnadmin mp /data/svn/project > project_original.mp
# 然后将project_original.mp文件里面不需要的文件进行排除并生成一个新的mp文件
type project_original.mp | svnmpfilter exclude trunk/test.exe trunk/notallowed > project_new.mp
# 接下来创建一个新的svn项目并将上面的mp文件导入到一个新的项目中
svnadmin create /data/svn/project_new
svnadmin load /data/svn/project_new < project_new.mp
最后将原来的project目录删除并将project_new修改成project即可。需要注意的是mp命令会将svn项目中的所有修改和历史记录都导出来,这样导出的mp文件会很大,而且导入的时间也比较长。
从服务器端彻底删除SVN版本库中部分文件夹或文件
若要彻底删除SVN版本库某一文件夹或文件,可采取这种方法(举例说明):
例:假设SVN库路径为E:/svn/project,库中的目录结构为
QA/Trunk
Software/Tags/test.exe
删除Software/Tags/目录下的test.exe文件
操作步骤为:
把SVN库mp出来
使用svnmpfilter过滤掉要删除的文件
新建一个SVN库
再将处理好的文件load到新的SVN库里
具体命令为:
>svnadmin mp E:/svn/project > aaa.mp
>type aaa.mp | svnmpfilter exclude /Software/Tags/test.exe > bbb.mp
>svnadmin create E:/svn/project_new
>svnadmin load E:/svn/project_new < bbb.mp
然后再将新建的project_new 重命名为project,以前的project可以移走,或是另取一个名称.(因为在TRAC中使用的SVN目录是project,用户所使用的SVN目录也是project)
此方法在SVN库里版本不多的情况下完全可以达到彻底删除SVN版本库某一文件夹或文件的效果,但是如果SVN库里的版本过多,在mp版本的时候会因存储空间不足,而无法mp版本.也就无法操作了.这时须另挂能满足其存储空间的硬盘操作.
SVN如何恢复已删除文件或文件夹
用TortoiseSVN:
1.在本地working 中,用TortoiseSVN->Show log查看版本库的历史记录。可以用search。
2.找到删除该文件或者文件夹的版本,在Log message里右键Revert the changes from this revision。
3.该文件或文件夹就被恢复到本地的working 中了。如果是误删除的,commit到Repository里就行了。
用Eclipse的Subclipse插件:
1.用Team->Show SVN Repository History查看版本库的历史记录。
2. 找到删除该文件或者文件夹的版本,右键Revert to XX version.
3.该文件或文件夹就被恢复到本地的working 中了。如果是误删除的,commit到Repository里就行了。
⑵ 如何彻底删除SVN中的文件和文件夹
彻底删除SVN中的文件和文件夹的方法
一、工具/原料
Eclipse
svn
二、方法/步骤
1、首先,选中要删除的文件点击Delete。
⑶ SVN 批量删除或添加文件
SVN批量删除文件
svn status | grep ! | awk '{print $2}' | xargs svn delete
1、首先svn status查看svn状态,列出所有改动,打!号的是已经删除的文件但是还未标记成从库中除去。
2、grep ! 将这些文件单独抽离出来,此时如果不执行后面的语句,呈现的内容应该是类似 ! filepath/image/image.jpg
3、再用 awk '{print $2}' 将抽离出来的文本结果处理,留下每一行的第二段文字,即后面的文件名, 此处必须注意,svn status|grep ! 和后面的语句 |awk '{print $2}'|xargs svn delete之间,必须有一个空格,否则终端还是会认为这个!号是特殊符号.
4、最后就可以直接递交给svn delete命令了,使用xargs这个参数构造命令,将每一行的文本作为参数提供给svn del,结果就是所有列出的文件都执行了一遍del了。
注意:
有时删除图片倍图,带有@符号的时候,报错 a peg revision is not allowed here 。解决方法在文件后添加@符号,例如,删除一张图片 svn delete filepath/[email protected]@,这样就可以删除成功了。
SVN批量添加文件
几乎和上面批量删除一样,不同的是svn标记的符号不一养,使用的是问号
svn status|grep ? |awk '{print $2}'|xargs svn add
处理好之后就可以 svn commit -m "..."
⑷ 如何彻底删除SVN中的文件和文件夹
在SVN的服务端中,无法删除文件,只能删除文件夹。
那么,我们可以点击任意一个文件,单击右键->TortoiseSVN->版本库浏览器;
在弹出的URL界面中,填写正确的需要删除文件的URL路径,然后点击确定
找到那个需要删除的文件,点击右键,就会出现删除的按钮了,那么这样就可以删除那个SVN中的单个文件了。