前言

  我们在项目开发中,使用的版本管理工具有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,path指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:"the bug id here"完成这个任务。

: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指定文件的追溯对话框,如果设置了startrevendrev,对话框询问追溯范围的对话框不会显示,如果设置了/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批处理的更多相关文章

  1. SVN批处理更新文件夹

    SVN批处理更新文件夹 "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:&quo ...

  2. 删除SVN批处理(bat)

    添加批处理文件(deleteSVN.bat),文件内容: @echo off :start ::启动过程,切换目录 set pwd=%cd% cd %1 echo 工作目录是:& chdir ...

  3. svn批处理语句

    sc create SVNService binpath="O:\ProgramingSoftware\SuiVersion\bin\svnserve.exe --service -r E: ...

  4. 关于SVN的操作批处理示例

    关于SVN的操作批处理示例 为了一句话:不要动手做机器能够做的事情. 天天工作用svn,更新啥的打开目录啥的动作天天在重复.每次写些命令也蛮无聊的,不说了,看下面: 1 @echo off 2 rem ...

  5. 批处理更新svn

    很多软件都有命令行支持,即可以直接在Windows命令提示符下输入软件提供命令来执行,完成软件的一些功能. 比如输入svn help 可以查看svn支持的命令行 想要更新svn资源需要用到命令svn ...

  6. 批处理 进行svn代码拉取,vs编译,dotfuscator混淆

    Dotfuscator的使用:https://www.cnblogs.com/aitong/p/10684004.html 从拉取代码,编译到最后的混淆步骤很多.这时就可以使用批处理来进行自动化. 用 ...

  7. Svn备份与Bandizip压缩批处理程序

    目的:为了定时备份多个svn仓库数据,使用批处理程序进行备份并Bandizip进行压缩保存到指定位置,操作完成后弹出成功提示. 为了完成以上目标,需要了解以下几个方面: 批处理命令 Svn命令 Ban ...

  8. [转]关于SVN的操作批处理示例

    为了一句话:不要动手做机器能够做的事情. 天天工作用svn,更新啥的打开目录啥的动作天天在重复.每次写些命令也蛮无聊的,不说了,看下面: @echo off rem 显示部分 @echo 注 意 事 ...

  9. dos 批处理删除svn目录

    转自 http://blog.sina.com.cn/mpl398235717 @echo offecho ********************************************** ...

随机推荐

  1. xcode中使用正则表达式来搜索替换代码

    有这样的需求: 类似于 GLOBAL_STR(@"请继续添加"); 这样的代码,需要批量修改为: GLOBAL_STR(@"请继续添加", nil); 这里使用 ...

  2. SpringMVC原理解析-DispatcherServlet初始化以及请求处理过程

  3. zookeeper清除事物日志

    dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/log       zk事物日志(快照)存放目录,高负荷工作的时候,会产生大量的日志,需 ...

  4. Magento后台简单更换favicon.ico

    刚才需要更换网站的favicon.ico,就是浏览器url前面的那个小图标. 网上稍微搜搜一下,然后就震惊了,号多方法是替换文件的方法,而且文件散步在网站的各个角落. 其实,后台是有直接上传更换的方法 ...

  5. lua协程一则报错解决“attempt to yield across metamethod/C-call boundary”

    问题 attempt to yield across metamethod/C-call boundary 需求跟如下帖子中描述一致: http://bbs.chinaunix.net/forum.p ...

  6. object_id用法

    特别是在建表建存储过程的时候进场会写到: IF OBJECT_ID('Table_Test','U') IS NOT NULL DROP TABLE Table_Test 这种方式代替了以往所使用的 ...

  7. c 头文件<ctype.h>(二)

    测试<ctype.h>函数 #include <stdio.h> #include <ctype.h> int main(){ ; ; i < ; ++i){ ...

  8. Windows Phone 十一、MVVM模式

    MVVM 模式介绍 模型-视图-视图模型 (MVVM) 是一种用来分离 UI 和非 UI 代码的应用设计模式 MVVM – 模型(Model) MVVM 中的 Model 与 MVC 中的一致,用于封 ...

  9. PHP扩展开发及内核应用

    目录中汉字部分代表已经翻译完成的章节,带链接的表示已经发布的,未待链接的表示正在校正即将发布的. PHP的生命周期 让我们从SAPI开始 PHP的启动与终止 PHP的生命周期 线程安全 小结 PHP变 ...

  10. Thread and shared lock

    在看programing python 4th,第5张parallel system tool 192页开始,书中讲到thread知识,以下做个笔记,以便后期学习 1.主线程执行,开启5个子线程进行计 ...