分享常用的svn批处理命令

            svn在团队开发中的作用毋庸置疑,笔者也有数年的使用经验,深感其使用之便利。

            然而,一些比较繁复和自动化的svn操作,可以使用批处理的方式使svn的使用更加强大。

 

            分享一:多个离散svn目录的更新。

            当不想更新整个根目录,或者没有整个根目录权限,而又需要频繁地更新时,要一个一个文件夹点进去更新操作,其繁复可想而知。我们可以编写一个简洁的.bat 文 件来执行这操作。如下:

         "C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe"  为本地SVN安装目录,注意的是需要加双引号,因为 C:/Program Files/ 这个路径包含空格。

          /command:update                                                                 为SVN更新操作命令符。

          /path:"F:/A/B/"                                                                          为需要更新的目录。

          /closeonend:0                                                                        操作结束符。

          上面的.bat执行了两个更新操作,会弹出两个svn更新界面。可以用以下的方式用一个SVN界面更新两个目录。

           /path:"F:/A/B/*F:/C/D/E.txt"                                                    如上所示,可用  *   将两个路径连起来即可实现一个界面多个目录的更新操作。

            分享二:多个离散svn目录的提交。

            最近策划和美术均抱怨编辑场景之后不知道要提交哪些文件,也不知道放在哪个目录,于是笔者在场景编辑器提供了一键提交的功能,自动检测需要提交的各个目录下的文件状态。具体实现如下。

            如果是提交尚未纳入SVN版本控制的文件,首先要执行add命令,将以上的 /command:update 改为 /command:add 即可。再执行提交文件操作,将以上  /command:update  改为 /command:commit  即可。

            无论是 add   还是commit ,执行时都是先弹出一个svn确认框,列出当前目录下需要add 或者commit的文件,如果某文件不需执行操作,可在文件列表前的勾选去掉,然后再按确定,所做操作才会提交到svn服务器。

            还可以在 commit 时设置默认的提交日志,如:

           /logmsg:   后面的字符串即为默认的日志信息,同时也可在SVN的确认提交界面再次修改。

 

            分享三:隐藏 cmd 窗口。

      该功能不属于svn 命令范畴,但既然说到了批处理,顺便也分享一下。实现很简单,只需在 .bat  文件的开始加上一段标识符即可,如下:

             如此,即可不用每次执行.bat文件时都弹出那黑黑的窗口。

             细细研究,其实批处理可实现的功能也是颇为强大的。

posted @ 2012-04-27 13:24  毛志谦  阅读(9831)  评论(4编辑  收藏  举报