SVN批处理
前言
我们在项目开发中,使用的版本管理工具有svn git等。这里介绍一下用 bat命令操作svn .这样会给我们带来很大的方便。
bat命令 Python等大家一定要掌握哈,会给你带来很多的方便。其他很多软件 都留出来批处理的接口,自己在使用的过程中学会发现吧
这里是比较基础简单教程,一看就懂哈,有不懂或者不同的地方欢迎交流学习。
第一步
首先我们要找到你安装的svn 的目录,这里我使用的是TortoiseSVN ,目录是这个、 C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
如果你不知道你的目录在哪,可以搜索一下TortoiseProc.exe。看看位置在哪、。或者直接win搜索TortoiseSVN或者TortoiseProc,右键查看,属性,找到位置。。。
如图解:
第二步
找到上面目录之后。(为啥找的原理这里我就不解释了)
新建一个文档,将后缀名字改成 .bat.然后打开(注意打开的方式)
下面是一个简单的 update例子。其他使用方法,参考后面哈
@echo off echo - update set Dir="D:\Work\Code" "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%Dir% /closeoned:
上面path后面的Dir就是你要更新的目录。 可以使用bat 取得当前目录的方法。这样比较通用 。写好之后保存,执行就可以看到结果了。其他的你自己参照下面的表格,实验一下吧
总结
不论你学习什么东西或者做什么事,都要学会总结和发现,要敢于去尝试。遇到问题不可怕,可怕的是不知道去找解决的办法。上面的例子很多完善的地方,比如路径不要写死,可以通过其他方法找到。
不扯淡了。。。继续work。。。
附录
如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递/closeonend
参数。
/closeonend:0
不自动关闭对话框/closeonend:1
如果没发生错误则自动关闭对话框/closeonend:2
如果没发生错误和冲突则自动关闭对话框/closeonend:3
如果没有错误、冲突和合并,会自动关闭/closeonend:4
如果没有错误、冲突和合并,会自动关闭
下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使用/command:abcd
的形式,在列表中,因为节省空间的关系省略了/command
的前缀。
表 D.1. 有效命令及选项列表
命令 | 描述 |
---|---|
:about | 显示关于对话框。如果没有给命令也会显示。 |
:log | 打开日志对话框,路径指定了日志显示的文件或目录,另外还有三个选项可以设置:/revstart:xxx 、/revend:xxx 和/strict |
:checkout | 打开检出对话框,/path 指定了目标路径,而/url 制定了检出的URL。 |
:import | 打开导入对话框,路径制定了数据导入路径。 |
:update | Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go. |
:commit |
打开提交对话框,路经指定了目标路径或需要提交的文件列表,你也可以使用参数/logmsg给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行, 你也可以使用/logmsgfile:path, |
:add | 将/path 的文件添加到版本控制 。 |
:revert | 恢复工作副本的本地修改,/path 说明恢复哪些条目。 |
:cleanup | 清理中断和终止的操作,将工作副本的/path 解锁。 |
:resolve | 将/path 指定文件的冲突标示为解决,如果给定/noquestion ,解决不会向用户确认操作。 |
:repocreate | 在/path 创建一个版本库。 |
:switch | 打开选项对话框。路径参数指定目标目录。 |
:export | 将/path 的工作副本导出到另一个目录,如果/path 指向另一个未版本控制目录,对话框会询问要导出到/path 的URL。 |
:merge | Opens the merge dialog. The path specifies the target directory. |
:copy | 带来branch/tag对话框,/path 是branch/tag在工作副本中的出处。 |
:settings | 打开设置对话框。 |
:remove | 从版本控制里移除/path 中的文件。 |
:rename | 重命名/path 的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion 。 |
:diff | 启动TortoiseSVN设置的外置比较程序,/path 指定了第一个文件,如果设置了/path2 ,比较程序会启动两个文件,如果省略/path2 ,比较程序会比较/path 和它的BASE。 |
:conflicteditor | 打开TortoiseSVN设置的冲突工具,在/path 中需要设置冲突文件的正确文件。 |
:relocate | 打开重定位对话框,/path 指定了重定位的工作副本路径。 |
:help | 打开帮助文件 |
:repostatus | 打开为修改检出对话框,路经指定了工作副本目录。 |
:repobrowser | 打开版本库浏览对话框,URL为工作副本/path 指向的或/path 直接指出的,另外一个选项是/rev:xxx ,可以用来指定要显示的修订版本号,如果省略/rev:xxx ,缺省是HEAD。 |
:ignore | 将/path 中的对象加入到忽略列表,也就是将这些文件添加到svn:ignore属性。 |
:blame | 打开/path 指定文件的追溯对话框,如果设置了startrev 和endrev ,对话框询问追溯范围的对话框不会显示,如果设置了/line:nnn ,TortoiseBlame会打开特定文件的某一行。 |
:cat | 将/path 指定的工作副本或URL的文件保存到/savepath:path ,修订版本号在/revision:xxx ,这样可以得到特定修订版本的文件。 |
:createpatch | 创建/path 下的补丁文件。 |
:revisiongraph | 显示/path 目录下的版本变化图。 |
:lock | Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path |
:rebuildiconcache | 重建windows的图标缓存,只有windows的图标缓存出了问题才需要这样做,一个副作用就是(不可避免)桌面的图标会重新组织。/noquestion
|
参考文档
http://blog.csdn.net/yangzhongxuan/article/details/7018168
http://www.cnblogs.com/doupip/archive/2012/02/10/2345708.html
转载请注明出处,有错误,请指正哈,大神勿喷
SVN批处理的更多相关文章
- SVN批处理更新文件夹
SVN批处理更新文件夹 "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:&quo ...
- 删除SVN批处理(bat)
添加批处理文件(deleteSVN.bat),文件内容: @echo off :start ::启动过程,切换目录 set pwd=%cd% cd %1 echo 工作目录是:& chdir ...
- svn批处理语句
sc create SVNService binpath="O:\ProgramingSoftware\SuiVersion\bin\svnserve.exe --service -r E: ...
- 关于SVN的操作批处理示例
关于SVN的操作批处理示例 为了一句话:不要动手做机器能够做的事情. 天天工作用svn,更新啥的打开目录啥的动作天天在重复.每次写些命令也蛮无聊的,不说了,看下面: 1 @echo off 2 rem ...
- 批处理更新svn
很多软件都有命令行支持,即可以直接在Windows命令提示符下输入软件提供命令来执行,完成软件的一些功能. 比如输入svn help 可以查看svn支持的命令行 想要更新svn资源需要用到命令svn ...
- 批处理 进行svn代码拉取,vs编译,dotfuscator混淆
Dotfuscator的使用:https://www.cnblogs.com/aitong/p/10684004.html 从拉取代码,编译到最后的混淆步骤很多.这时就可以使用批处理来进行自动化. 用 ...
- Svn备份与Bandizip压缩批处理程序
目的:为了定时备份多个svn仓库数据,使用批处理程序进行备份并Bandizip进行压缩保存到指定位置,操作完成后弹出成功提示. 为了完成以上目标,需要了解以下几个方面: 批处理命令 Svn命令 Ban ...
- [转]关于SVN的操作批处理示例
为了一句话:不要动手做机器能够做的事情. 天天工作用svn,更新啥的打开目录啥的动作天天在重复.每次写些命令也蛮无聊的,不说了,看下面: @echo off rem 显示部分 @echo 注 意 事 ...
- dos 批处理删除svn目录
转自 http://blog.sina.com.cn/mpl398235717 @echo offecho ********************************************** ...
随机推荐
- wordpress 分类相关
分类类型,层级 wp中的分类.文章类型(post,page,video,image).标签.自定义分类.自定义标签都是分类形式.有些分类是有层级关系,有些没有.如图: taxonomy分类(categ ...
- 总结-html
页面尺寸: var w = document.body.scrollWidth; (w + "px")var h = document.body.scrollHeight; (h ...
- Java语言程序设计(基础篇)第二章
第二章 基本程序设计 2.2 编写简单的程序 1.变量名尽量选择描述性的名字(descriptive name). 2.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...
- JqGrid自定义的列
$("#gridTable").jqGrid({ //...其它属性 colModel: [ //...其它列 { name: 'dsource_alarm', index: 'd ...
- 【杂记】Asp.Net 篇
51.app.config 连接字符串 <?xml version="1.0" encoding="utf-8"?> <configurati ...
- 由LazyMan联想到的
LazyMan问题与解法 http://mp.weixin.qq.com/s/drNGvLZddQztcUzSh8OsSw 给出了一道题目,并给出了解法: 题目: 实现一个LazyMan,可以按照以下 ...
- Could not find a getter for id in class 的异常
检查.hbm.xml里边的id是否大小写一致
- git/github学习笔记
郑重提示,本文来自这里,如果喜欢,请关注原作者. 1. git 版本控制系统 相比CVS\SVN优势: - 支持离线开发,离线Repository- 强大的分支功能,适合多个独立开发者协作- 速度块 ...
- php 无限极
1,递归 public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$le ...
- 将HTML5封装成android应用APK文件的几种方法(转载)
越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...