当前位置: 首页 > news >正文

如何快速去掉.svn文件夹?

我们在工程的协作开发过程中,常用的是 svn , 有时我们需要一个干净的 网站版本,没有 .svn 这些文件夹记录的版本传到服务器上使用,自己一个个去文件删除的话也太累了,这时我们就用到以下功能,用cmd 批处理一键删除这些文件夹

可以写到注册表里,以后自己想清理哪个文件夹就直接 右键 -> 清除 .SVN文件夹 就可以了

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息] @="清除 .SVN文件夹"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息\command]
@="cmd.exe /c \"TITLE 清除 %1 中的.SVN文件夹 && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

 

将以上代码保存为 cleanSVN.reg ,在 Windows 环境下运行,然后在你要清理的文件夹上右键,就可以看到命令菜单,

不足的是这里没有 一个确认的提示信息,如果你有兴趣就加上一个提示信息吧,以免误清理,有时间我再加上吧,这些天一直在忙....

 

注:

如果你得到的菜单是乱码,那可能是你保存的 reg 文件是 UTF-8 的,重新保存为 ANSI 的再执行一次就可以了

 

---------------------------------------------------------------

2011-12-06 注:

最近发现 tortoise 的1.7 版的 .svn 都去掉了,只保留最上层有这个文件夹来记录文件信息!这样的话,以上步骤就用不到了 

 

 

 

 

 

 

使用svn进行版本控制,每个文件夹下都有.svn文件夹,有些项目在脱离svn版本控制之后,想删除项目中所有的.svn文件夹,可用下面的方法进行快速删除:

在桌面上建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),文件的内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@=”Delete SVN Folders”

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\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\” \""

保存之后,双击这个reg文件。成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下(包括子文件夹)所有的.svn文件夹。

删除完成后,为了避免误操作,不小心把正处于版本管理中的.svn文件夹删除,最好把刚才的注册信息删除。删除方法是,打开注册表(在运行中用 regedit命令),找到[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell \DeleteSVN] ,把DeleteSVN这个项删除,即可。

eclipse编译去除svn文件夹

使用Eclipse编译文件后,classes文件中总是有.svn的文件夹,这些文件没有什么用,而且影响build的速度
“Project->Properties->Java Build Path”,右侧的面板中的”Source”选项卡,在Excluded中加入”**/.svn/**”,就可以将所有的svn文件排除在编译路径中了。

 

 

 

=====================================================================================

 

 

第一步:建立一个名字叫做remove-svn-folders.reg的文本(先建立txt文件,然后粘贴内容后再修改文件名字),记得后缀要叫.reg。文本的内容为:

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\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\" \""

 

      第二步:保存后,双击这个文件,此时再右键任何文件夹时都会出现一个“Delete SVN Folders”,点击这项,将会把此文件夹下包括子文件夹的.svn都给删除。如果项目想去掉svn,直接对此项目进行上面操作,一下子就将项目所有的.svn删除,即项目去除了svn。

      第三步:也比较重要哦!如果项目已经去掉了svn,此时我们应该将右键的这项功能去掉预防以后不小心点击将不想去svn的项目去除了,这将会非常令人蛋疼。去除右键这项功能的方法为:打开注册表(就是在命令行输入:regedit命令),然后在注册表里找到:[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN],将DeleteSVN删除就可以了。

现在再对你的文件夹进行右键是不是找不到“Delete SVN Folders”这个选项了?!

 

 

=====================================================================================

 

 

 

 

@echo off

:start
::启动过程,切换目录
set pwd=�%
cd %1
echo 工作目录是:& chdir

:input
::获取输入,根据输入进行处理
set source=:
set /p source=确定要清楚当前目录下的svn信息吗?[Y/N/Q]
set "source=%source:"=%"

if "%source%"=="y" goto clean
if "%source%"=="Y" goto clean
if "%source%"=="n" goto noclean
if "%source%"=="N" goto noclean
if "%source%"=="q" goto end
if "%source%"=="Q" goto end
goto input

:clean
::主处理过程,执行清理工作
@echo on
@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c & echo     删除目录%%c)
@echo off
echo "当前目录下的svn信息已清除"
goto end

:noclean
::分支过程,取消清理工作
echo "svn信息清楚操作已取消"
goto end

:end
::退出程序
cd "%pwd%"
pause

 

 

 

 

原理如下:每个check out的文件夹下都有个隐藏的.svn文件夹,该文件夹是存储svn信息的,把隐藏的这个文件夹显示出来并删掉,即消除了SVN标记了。

转载于:https://www.cnblogs.com/ruiati/p/3181863.html

相关文章:

  • js英雄对战小游戏 看看你的人品
  • mongodb在PHP下的应用学习笔记
  • 最长公共子序列问题(不连续)
  • Oracle动态执行表不可访问
  • 给公司服务器装web服务器,邮件服务器——安装SecureCRT
  • Set Keep-Alive Values---C到C#代码的转换
  • poj 2388 Who's in the Middle(快速排序求中位数)
  • com.javax.servlet 慢慢看完慢慢学完
  • margin标记可以带一个、二个、三个、四个参数,各有不同的含义。
  • jQuery – 8.事件和事件参数
  • 面试题20:栈的压入、弹出序列
  • 求字符串组合
  • PHP event 事件机制
  • 基于协同过滤的推荐引擎
  • 连续加班易“脑残”,程序员做做白日梦未尝不是一件好事!
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 2017-09-12 前端日报
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • angular学习第一篇-----环境搭建
  •  D - 粉碎叛乱F - 其他起义
  • eclipse(luna)创建web工程
  • Electron入门介绍
  • ES6之路之模块详解
  • Koa2 之文件上传下载
  • Python连接Oracle
  • Redis的resp协议
  • Theano - 导数
  • TypeScript实现数据结构(一)栈,队列,链表
  • 观察者模式实现非直接耦合
  • 深入 Nginx 之配置篇
  • 使用 QuickBI 搭建酷炫可视化分析
  • 微信小程序填坑清单
  • 项目实战-Api的解决方案
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ###STL(标准模板库)
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (没学懂,待填坑)【动态规划】数位动态规划
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net mvc部分视图
  • .net refrector
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .net反编译的九款神器
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • /dev下添加设备节点的方法步骤(通过device_create)
  • ?.的用法
  • @EnableWebMvc介绍和使用详细demo
  • @WebServiceClient注解,wsdlLocation 可配置
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [IDF]啥?
  • [Linux](15)线程基础,线程控制,线程的互斥与同步
  • [Mac软件]Boxy SVG 4.20.0 矢量图形编辑器
  • [NodeJS]NodeJS基于WebSocket的多用户点对点即时通讯聊天
  • [Python]闭包