我是靠谱客的博主 辛勤白昼,最近开发中收集的这篇文章主要介绍svn常用命令行和批处理 WIN,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在进行大量svn更新和多个工程联合编译时,如果是对你来说是一件经常重复做的事情,譬如更新代码编译版本;更新代码,编译版本并升级之类的重复性很高, 枯燥而且容易出错的事情,使用批处理来统一管理和处理将大大简化工作流程.要统一批处理化,那就自然要熟悉各种工具的命令行了,首先 来看看svn的,嘿嘿。

      svn的命令行的详细使用,这篇文章讲得比较详细:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn,但是一般开发人员用不了这么多,下面简单介绍我常用的5-6个:

      1、help,查看有你当前的svn版本支持哪些命令,在控制台下输入svn help,回车,显示如下:

view plain copy to clipboard print ?
  1. usage: svn <subcommand> [options] [args]  
  2. Subversion command-line client, version 1.6.1.  
  3. Type 'svn help <subcommand>' for help on a specific subcommand.  
  4. Type 'svn --version' to see the program version and RA modules  
  5.   or 'svn --version --quiet' to see just the version number.  
  6.   
  7. Most subcommands take file and/or directory arguments, recursing  
  8. on the directories.  If no arguments are supplied to such a  
  9. command, it recurses on the current directory (inclusive) by default.  
  10.   
  11. Available subcommands:  
  12.    add  
  13.    blame (praise, annotate, ann)  
  14.    cat  
  15.    changelist (cl)  
  16.    checkout (co)  
  17.    cleanup  
  18.    commit (ci)  
  19.    copy (cp)  
  20.    delete (del, remove, rm)  
  21.    diff (di)  
  22.    export  
  23.    help (?, h)  
  24.    import  
  25.    info  
  26.    list (ls)  
  27.    lock  
  28.    log  
  29.    merge  
  30.    mergeinfo  
  31.    mkdir  
  32.    move (mv, rename, ren)  
  33.    propdel (pdel, pd)  
  34.    propedit (pedit, pe)  
  35.    propget (pget, pg)  
  36.    proplist (plist, pl)  
  37.    propset (pset, ps)  
  38.    resolve  
  39.    resolved  
  40.    revert  
  41.    status (stat, st)  
  42.    switch (sw)  
  43.    unlock  
  44.    update (up)  
  45.   
  46. Subversion is a tool for version control.  
  47. For additional information, see http://subversion.tigris.org/  
usage: svn <subcommand> [options] [args] Subversion command-line client, version 1.6.1. Type 'svn help <subcommand>' for help on a specific subcommand. Type 'svn --version' to see the program version and RA modules or 'svn --version --quiet' to see just the version number. Most subcommands take file and/or directory arguments, recursing on the directories. If no arguments are supplied to such a command, it recurses on the current directory (inclusive) by default. Available subcommands: add blame (praise, annotate, ann) cat changelist (cl) checkout (co) cleanup commit (ci) copy (cp) delete (del, remove, rm) diff (di) export help (?, h) import info list (ls) lock log merge mergeinfo mkdir move (mv, rename, ren) propdel (pdel, pd) propedit (pedit, pe) propget (pget, pg) proplist (plist, pl) propset (pset, ps) resolve resolved revert status (stat, st) switch (sw) unlock update (up) Subversion is a tool for version control. For additional information, see http://subversion.tigris.org/

       如果你想查看某个具体命令的使用,直接svn help [command]即可,譬如想看看checkout的用法:svn help checkout,显示内容比较多,自己去看看吧。

      2、update的用法,这个应该是用得最多的一个命令(或者叫操作吧)了,使用很简单,你要更新哪个目录,就先进到那个目录,然后在那个目录下运行 svn update。譬如你要更新目录:H:QQDrPrjAPPLightDogQQDoctor3.2Output。

view plain copy to clipboard print ?
  1. @echo off  
  2. set svnpath="H:QQDrPrjAPPLightDogQQDoctor3.2Output"  
  3. h:  
  4. cd %svnpath%  
  5. svn update  
  6. pause  
@echo off set svnpath="H:QQDrPrjAPPLightDogQQDoctor3.2Output" h: cd %svnpath% svn update pause

      3、checkout的使用方法,checkout就是把代码或者其他资料从服务器上下载到本地的意思,所以是要指明服务器的地址的,首先你也要进到一个目的文件夹(就是你要把代码下载到哪儿),然后就可以执行svn checkout https://xxxx/out了。下面一段脚本是将typedef文件夹下的所有文件包括typedef文件夹更新到h盘根目录下。(注意,运行之后,如果是第一次运行很可能向你询问用户名和密码等信息)

view plain copy to clipboard print ?
  1. @echo off  
  2. set svnpath="H:"  
  3. h:  
  4. cd %svnpath%  
  5. svn checkout https://xx.x.xx.xx:xxxx/svn/ims/APP/Output/TypeDef  
  6. pause  
@echo off set svnpath="H:" h: cd %svnpath% svn checkout https://xx.x.xx.xx:xxxx/svn/ims/APP/Output/TypeDef pause

      4、commit提交代码到服务器上,和update的使用方法类似,但是要记录一个log信息[加上 -m ""],svn commit -m ""。或者注册环境变量SVN_EDITOR也可以(譬如注册一个环境变量名为SVN_EDITOR,值为notepad.exe的环境变量),这样的话 直接svn commit也可以,如果你既没有加-m ""又没有注册SVN_EDITOR环境变量,那么执行此命令时会报如下的错误:

view plain copy to clipboard print ?
  1. svn: Commit failed (details follow):  
  2. svn: Could not use external editor to fetch log message; consider setting the $S  
  3. VN_EDITOR environment variable or using the --message (-m) or --file (-F) option  
  4. s  
  5. svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and  
  6.  no 'editor-cmd' run-time configuration option was found  
svn: Commit failed (details follow): svn: Could not use external editor to fetch log message; consider setting the $S VN_EDITOR environment variable or using the --message (-m) or --file (-F) option s svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found

      5、add代码或者文件到服务器,这个命令其实比较少使用命令行进行,嘿嘿!运行时要确保当前目录下有你要增加的文件或者文件夹,直接执行 svn add myfile.txt 或者 svn add myforder,例如:下面是将h盘下Documents目录下的engine文件夹增加到svn中(前提是Documents是一个svn的工作目 录,否则会执行失败)。

view plain copy to clipboard print ?
  1. @echo off  
  2. set svnpath="H:Documents"  
  3. h:  
  4. cd %svnpath%  
  5. svn add engine  
  6. pause  
@echo off set svnpath="H:Documents" h: cd %svnpath% svn add engine pause

      6、cleanup清理命令,能够清理某个目录下的一些执行失败的事务,和update的用法类似。

      7、log查看日志,可以查看某个目录或者文件的日志信息,这个可以在执行一批命令后再检查下是否执行正确。用法很简单,类似add命令,下面是查看Documents下面myfile.txt文件的日志。

view plain copy to clipboard print ?
  1. @echo off  
  2. set svnpath="H:Documents"  
  3. h:  
  4. cd %svnpath%  
  5. svn log "myfile.txt"  
  6. pause  
@echo off set svnpath="H:Documents" h: cd %svnpath% svn log "myfile.txt" pause

       svn的命令就介绍到这里了,可以和vc的命令汗联合起来,这样就可以直接更新编译了,如下:

view plain copy to clipboard print ?
  1. @echo off  
  2. @echo 请使用svn更新文件  
  3. set svnpath="h:myprjVulInfoDataBase"  
  4. h:  
  5. cd %svnpath%  
  6. svn update  
  7. explorer.exe "h:myprjVulInfoDataBase"  
  8. pause  
  9.   
  10. @echo 编译  
  11. msdev "h:myprjVulInfoDataBaseVulChkmyprj.dsw" /MAKE "TSVulChk - Win32 Release"  
  12. pause  

最后

以上就是辛勤白昼为你收集整理的svn常用命令行和批处理 WIN的全部内容,希望文章能够帮你解决svn常用命令行和批处理 WIN所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部