如何彻底删除SVN中的文件和文件夹(附恢复方法)
这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的bin目录下)如下:
# 首先将svn库整个导出
svnadmin dump /data/svn/project > project_original.dump
# 然后将project_original.dump文件里面不需要的文件进行排除并生成一个新的dump文件
type project_original.dump | svndumpfilter exclude trunk/test.exe trunk/notallowed > project_new.dump
# 接下来创建一个新的svn项目并将上面的dump文件导入到一个新的项目中
svnadmin create /data/svn/project_new
svnadmin load /data/svn/project_new < project_new.dump
最后将原来的project目录删除并将project_new修改成project即可。需要注意的是dump命令会将svn项目中的所有修改和历史记录都导出来,这样导出的dump文件会很大,而且导入的时间也比较长。
从服务器端彻底删除SVN版本库中部分文件夹或文件
若要彻底删除SVN版本库某一文件夹或文件,可采取这种方法(举例说明):
例:假设SVN库路径为E:/svn/project,库中的目录结构为
QA/Trunk
Software/Tags/test.exe
删除Software/Tags/目录下的test.exe文件
操作步骤为:
把SVN库dump出来
使用svndumpfilter过滤掉要删除的文件
新建一个SVN库
再将处理好的文件load到新的SVN库里
具体命令为:
>svnadmin dump E:/svn/project > aaa.dump
>type aaa.dump | svndumpfilter exclude /Software/Tags/test.exe > bbb.dump
>svnadmin create E:/svn/project_new
>svnadmin load E:/svn/project_new < bbb.dump
然后再将新建的project_new 重命名为project,以前的project可以移走,或是另取一个名称.(因为在TRAC中使用的SVN目录是project,用户所使用的SVN目录也是project)
此方法在SVN库里版本不多的情况下完全可以达到彻底删除SVN版本库某一文件夹或文件的效果,但是如果SVN库里的版本过多,在dump版本的时候会因存储空间不足,而无法dump版本.也就无法操作了.这时须另挂能满足其存储空间的硬盘操作.
SVN如何恢复已删除文件或文件夹
用TortoiseSVN:
1.在本地working copy中,用TortoiseSVN->Show log查看版本库的历史记录。可以用search。
2.找到删除该文件或者文件夹的版本,在Log message里右键Revert the changes from this revision。
3.该文件或文件夹就被恢复到本地的working copy中了。如果是误删除的,commit到Repository里就行了。
用Eclipse的Subclipse插件:
1.用Team->Show SVN Repository History查看版本库的历史记录。
2. 找到删除该文件或者文件夹的版本,右键Revert to XX version.
3.该文件或文件夹就被恢复到本地的working copy中了。如果是误删除的,commit到Repository里就行了。
相关推荐
-
解决常见的Eclipse SVN插件报错方法详解
在学习SVN的过程中,你经常会遇到SVN插件问题,本文介绍一下在安装SVN插件时常见Eclipse SVN插件报错信息问题,希望本文介绍对你的学习有所帮助. AD: 本节和大家一起看一下SVN插件在安装过程中遇到的常见Eclipse SVN插件报错信息,和大家一起分享一下,希望通过本节的介绍大家知道当出现SVN插件报错时该如何处理. 常见Eclipse SVN插件报错信息: 1.update-rHEADD:/dev/workforceWorkingcopynotlocked;thisisprob
-
删除SVN三种方法delSvn(windows+linux)
一.在linux下 删除这些目录是很简单的,命令如下 find . -type d -name ".svn"|xargs rm -rf 或者 find . -type d -iname ".svn" -exec rm -rf {} \; 二.在windows下用以下法子: 1.在项目平级的目录,执行dos命令: xcopy project_dir project_dir_1 /s /i 2.或者在项目根目录执行以下dos命令 for /r . %%a in (.)
-
清除svn文件的bat脚本整理
第一个:比较直接的代码,循环删除当前目录及子目录下所有的SVN文件 复制代码 代码如下: @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem 循环删除当前目录及子目录下所有的SVN文件 @rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn" @for /r . %%a in (.)
-
SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案
SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案 第一种方法: 通过svn插件来清理,首先选中项目,右键,选择team->refresh/cleanup即可.然后再更新文件就不会提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-lockeddir了.但
-
svn服务器启动和svn服务器重启、停止等操作脚本分享
复制代码 代码如下: #!/bin/bashcase "$1" instart) svnserve -d -r /svndata svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'` if [ $svnport -eq 3690 ] then echo "SVN Server Already
-
Windows下SVN服务器搭建方法整理(apache)
本节和大家谈谈Windows下SVN服务器搭建问题,在这里拿出来和大家分享一下,希望对大家有用. 1,软件下载 Windows下SVN服务器搭建,下载Subversion服务器程序.到官方网站的下载二进制安装文件,来到二进制包下载部分,找到WindowsNT,2000,XPand2003部分,然后选择"thisdirectory",这样我们可以看到许多下载的内容,目前可以下载svn-1.4.0-setup.exe.下载Subversion的Windows客户端TortoiseSVN.T
-
WINDOWS下搭建SVN服务器端的步骤分享(Subversion)
1.获取svn程序 2.安装 Subversion(以下简称SVN)的服务器端和客户端.下载下来的服务器端是个 zip压缩包,直接解压缩即可,比如我解压到 E:\subversion .客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启. 3.先建立空目录 E:\svn\repos1 ,注意一定是要空的.然后在 repos1 文件夹上"右键->TortoiseSVN->Create Repository here...",然后可以选择版
-
Windows下VisualSVN Server的安装与配置方法(图文)
VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion.Apache和用户及权限管理 为什么在Windows下用VisualSVN Server而不用Subversion 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过
-
使用svn进行版本控制
我使用系统是: Microsoft Windows xp sp2 第一:下载软件 有两个软件需要下载的:Subversion和TortoiseSVNSubversion 下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91TortoiseSVN下载地址:http://tortoisesvn.net/downloads (有些文档说必备软件还有Apache,但这么说法的大多是较旧的文档这么提到,随着软件
-
如何彻底删除SVN中的文件和文件夹(附恢复方法)
这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的bin目录下)如下: # 首先将svn库整个导出 svnadmin dump /data/svn/project > project_original.dump # 然后将project_original.dump文件里面不需要的文件进行排除并生成一个新的dump文件 type project_
-
删除xcode 中过期的描述性文件方法
1.使用终端 首先 打开终端 cd ~/Library/MobileDevice/Provisioning\ Profiles/ 再删除所有 rm *.mobileprovision 2.直接找到文件夹-简单粗暴 首先show in finder,接着 Com+Shi+G ,再 ~/Library/MobileDevice/Provisioning Profiles 最后找到对应的删除 yangdeMacBook-Pro:Provisioning Profiles yangliugrep"dev
-
如何批量删除Docker中已经停止的容器的几种方法
目录 方法一: 方法二: 方法三: 方法四: 附图: 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{print $1}' #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器 sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'` 方法二: #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
-
maven项目在svn中的上传与检出的方法
前言 企业开发中经常使用svn来为我们控制代码版本,也经常使用maven来管理项目.下面将介绍一下如何将maven项目上传到svn中,如何将项目从svn中检出. 上传到svn maven项目上传与普通项目上传并无区别.这里做一下简单介绍: 右击项目:选择Team:选择Share Project: 仓库类型选择svn 点击next 选择你要分享的资源库.点击next 选择使用指定的模块名.然后在浏览中选择要上传的位置.然后点击finish. 点击finish后进入同步视图界面.这个界面需要我们选择
-
C#程序中创建、复制、移动、删除文件或文件夹的示例
创建文件或文件夹 您可通过编程方式在您的计算机上创建文件夹.子文件夹和子文件夹中的文件,并将数据写入文件. public class CreateFileOrFolder { static void Main() { string folderName = @"c:\Top-Level Folder"; string pathString = System.IO.Path.Combine(folderName, "SubFolder"); string pathSt
-
linux 不删除文件,清空文件中内容的命令
在某些时候,需要清空文件内容,而不删除文件.比喻有些日志文件(log.txt):在linux下的命令为:true >log.txt 测试结果: touch log.txt →#新建文件log.txt vi log.txt →#编辑文件 随便输入什么东西 :wq!回车 →#保存退出: cat log.txt →#查看 文件内容: true >log.txt →#查看文件里面的内容: 附: rm -r 删除目录,不管目录中有没有文件 rm -rf 强制删除,没有提示 一般用到的就这两个,删除文件可
-
Git如何删除历史记录中的大文件详解
前言 Git 作为一个分布式的版本管理工具,代码仓库中是会保存所有历史记录的.虽然,Git 的 .gitignore 文件里可以定义一些忽略文件的规则,但是,在我们提交代码的过程中,总会不小心误提一些没用的文件,如果文件中存在大文件,就会导致:就算我们把它删了重新提交,.git 文件夹依然会占用较大的空间. 如何解决这个问题呢?其实,Git 已经为我们提供了解决方案,就是被称为核弹级的命令 filter-branch.这个命令可以用来修改历史提交记录,把不需要的文件永久地从历史记录中删除. 方法
-
如何优雅地删除 Linux 中的垃圾文件的方法
不知道大家是否也跟我一样,是一只要把的自己电脑文件安排的条理有序,把没用的文件会及时删掉的程序猿呢?如果是的话,那么我们可以愉快地探讨下文章的内容.如果不是的话,你也可以留下来凑凑热闹嘛(>-<). 下面要介绍的是今天的主角-- tmpwatch ,它能帮助我们递归删除在给定时间内没有访问的文件和空目录. 当然,我们也可以使用 find 命令查找并删除超过 x 天未访问的文件,不过 tmpwatch 可以一步到位,何乐而不为? tmpwatch 默认根据文件或目录的访问时间(access ti
-
python 删除系统中的文件(按时间,大小,扩展名)
按时间删除文件 # importing the required modules import os import shutil import time # main function def main(): # initializing the count deleted_folders_count = 0 deleted_files_count = 0 # specify the path path = "/PATH_TO_DELETE" # specify the days da
-
利用Python删除电脑中重复文件的方法
目录 前言 练习 代码演示 总结 前言 在生活中,我们经常会遇到电脑中文件重复的情况.在文件较少的情况下,这类情况还比较容易处理,最不济就是一个个手动对比删除:而在重复文件很多的时候,我们很难保证把重复文件全部删完.下面文章就来简单介绍便捷一个小方法,用Python来删除重复文件 练习 Python提供一个内置电脑文件管理库os模块,我们可以利用它来删除多余文件. 当一个文档里存在重复文件名,我们的系统会自动给我们重复的文件名更名, 比如下图的文件“1”重复了3次: 那我们该怎么删除文件“1”
随机推荐
- XML的代替者----JSON
- 详解利用Spring加载Properties配置文件
- 浅谈Java多线程处理中Future的妙用(附源码)
- python的id()函数解密过程
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- C#中常用的分页存储过程小结
- JS OOP包机制,类创建的方法定义
- JavaScript分秒倒计时器实现方法
- PHP+JQuery+Ajax实现分页方法详解
- Python基于smtplib实现异步发送邮件服务
- ajax 异步上传带进度条视频并提取缩略图
- sqlserver 字符串分拆 语句
- jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
- 在php MYSQL中插入当前时间
- 永不消失的title提示代码
- 删除QQ好友遇到连接超时提示的解决
- android中Bitmap的放大和缩小实例代码
- lightbox 效果 lbs窗口在本地打开
- Python反射的用法实例分析
- 原生JS进行前后端同构