svn的命令行的详细使用,这篇文章讲得比较详细:
http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn
,但是一般开发人员用不了这么多,下面简单介绍我常用的5-6个:
1、help,查看有你当前的svn版本支持哪些命令,在控制台下输入svn help,回车,显示如下:
-
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:/QQDrPrj/APP/LightDog/QQDoctor3.2/Output。
-
@echo off
-
set svnpath=
“H:/QQDrPrj/APP/LightDog/QQDoctor3.2/Output”
-
h:
-
cd %svnpath%
-
svn update
-
pause
3、checkout的使用方法,checkout就是把代码或者其他资料从服务器上下载到本地的意思,所以是要指明服务器的地址的,首先你也要进到一个目的文件夹(就是你要把代码下载到哪儿),然后就可以执行svn checkout
https://xxxx/out
了。下面一段脚本是将typedef文件夹下的所有文件包括typedef文件夹更新到h盘根目录下。(注意,运行之后,如果是第一次运行很可能向你询问用户名和密码等信息)
-
@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环境变量,那么执行此命令时会报如下的错误:
-
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的工作目录,否则会执行失败)。
-
@echo off
-
set svnpath=
“H:/Documents”
-
h:
-
cd %svnpath%
-
svn add engine
-
pause
6、cleanup清理命令,能够清理某个目录下的一些执行失败的事务,和update的用法类似。
7、log查看日志,可以查看某个目录或者文件的日志信息,这个可以在执行一批命令后再检查下是否执行正确。用法很简单,类似add命令,下面是查看Documents下面myfile.txt文件的日志。
-
@echo off
-
set
svnpath=
“H:/Documents”
-
h:
-
cd %svnpath%
-
svn log
“myfile.txt”
-
pause
svn的命令就介绍到这里了,可以和vc的命令汗联合起来,这样就可以直接更新编译了,如下:
-
@echo off
-
@echo 请使用svn更新文件
-
set
svnpath=
“h:/myprj/VulInfoDataBase”
-
h:
-
cd %svnpath%
-
svn update
-
explorer.exe
“h:/myprj/VulInfoDataBase”
-
pause
-
-
@echo 编译
-
msdev
“h:/myprj/VulInfoDataBase/VulChk/myprj.dsw”
/MAKE
“TSVulChk – Win32 Release”
-
pause
版权声明:本文为博主原创文章,未经博主允许不得转载。