svn常用命令行和批处理

  • Post author:
  • Post category:其他


svn的命令行的详细使用,这篇文章讲得比较详细:

http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn

,但是一般开发人员用不了这么多,下面简单介绍我常用的5-6个:

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



  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. Most subcommands take file and/or directory arguments, recursing

  7. on the directories.  If no arguments are supplied to such a

  8. command, it recurses on the current directory (inclusive) by

    default


    .



  9. Available subcommands:

  10. add

  11. blame (praise, annotate, ann)

  12. cat

  13. changelist (cl)

  14. checkout (co)

  15. cleanup

  16. commit (ci)

  17. copy (cp)


  18. delete


    (del, remove, rm)


  19. diff (di)

  20. export

  21. help (?, h)

  22. import

  23. info

  24. list (ls)

  25. lock

  26. log

  27. merge

  28. mergeinfo

  29. mkdir

  30. move (mv, rename, ren)

  31. propdel (pdel, pd)

  32. propedit (pedit, pe)

  33. propget (pget, pg)

  34. proplist (plist, pl)

  35. propset (pset, ps)

  36. resolve

  37. resolved

  38. revert

  39. status (stat, st)


  40. switch


    (sw)


  41. unlock

  42. update (up)


  43. Subversion is a tool

    for


    version control.


  44. For additional information, see http:

    //subversion.tigris.org/



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

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



  1. @echo off


  2. set svnpath=

    “H:/QQDrPrj/APP/LightDog/QQDoctor3.2/Output”




  3. h:

  4. cd %svnpath%

  5. svn update

  6. pause

3、checkout的使用方法,checkout就是把代码或者其他资料从服务器上下载到本地的意思,所以是要指明服务器的地址的,首先你也要进到一个目的文件夹(就是你要把代码下载到哪儿),然后就可以执行svn checkout

https://xxxx/out

了。下面一段脚本是将typedef文件夹下的所有文件包括typedef文件夹更新到h盘根目录下。(注意,运行之后,如果是第一次运行很可能向你询问用户名和密码等信息)



  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

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



  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

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



  1. @echo off


  2. set svnpath=

    “H:/Documents”




  3. h:

  4. cd %svnpath%

  5. svn add engine

  6. pause

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

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



  1. @echo off



  2. set


    svnpath=


    “H:/Documents”




  3. h:

  4. cd %svnpath%

  5. svn log

    “myfile.txt”




  6. pause

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



  1. @echo off


  2. @echo 请使用svn更新文件


  3. set


    svnpath=


    “h:/myprj/VulInfoDataBase”




  4. h:

  5. cd %svnpath%

  6. svn update

  7. explorer.exe

    “h:/myprj/VulInfoDataBase”




  8. pause


  9. @echo 编译

  10. msdev

    “h:/myprj/VulInfoDataBase/VulChk/myprj.dsw”


    /MAKE


    “TSVulChk – Win32 Release”




  11. pause

版权声明:本文为博主原创文章,未经博主允许不得转载。