最近项目要用到subversion来做版本控制,一次找了些svn和VisualSVN的资料
软件需求:
vs2005;TortoiseSVN-1.4.4.9706-win32-svn-1.4.4;VisualSVN-1.3.1
1.简介
VisualSVN是个和Visual Studio 配套的软件,实现SVN功能
svn是subversion的客户端
subversion使用的是copy-modify-merge模型,因此一旦我们从subversion服务器获得工作拷贝 (check out)之后,就可以像修改普通本地文件那样修改这些拷贝。
subversion与vss 6.0(visual sourcesafe)的lock-modify-unlock模型很不一样;它甚至与vss 8.0(visual studio 2005 附带的vss版本)也有一点不一样:对于vss 8.0,获得文件的操作是get latest version,而请求修改文件的操作是check out;而subversion的checkout操作不是请求修改文件,而是获得私有的工作拷贝,这个意义上,checkout有点类似于vss的get latest version,但是subversion并不需要vss的checkout操作,一旦你获得这些工作拷贝之后,你就可以立即开始工作了!
2.常用操作
下面假设subversion仓库的地址是http://server/svn
a) check out
svn checkout http://server/svn
即可在当前目录下建立一个工作拷贝,目录名是svn
b) update
使用命令svn update可以用服务器的版本更新你的工作拷贝
c) add
使用命令 svn add filename可以把filename这个文件或者目录以及目录下面的所有文件标志为添加状态(实际上它并没有立即添加,你可以查看服务器,这些文件都还没有添加进去的!),下一次你提交(commit)这些文件的时候,服务器就会把他们添加到版本库。
d) stat
使用svn stat可以查看文件状态(也就是是否被修改等)
e) commit
使用svn commit filename --message "leave words about this commit",可以提交本地修改到服务器。如果不使用--message选项,则svn会自动打开一个配置文件所指向的编辑器,里面默认有一些修改信息,你可以把这些信息作为附注提交到服务器。或者你也可以不使用--message而使用--file 来指定一个文件作为提交时的附注。
f) switch
有时候管理员修改了版本库的地址,比如修改了主机地址,修改了url等,此时客户端也需要相应的修改:svn switch --relocate http://xiao/svnhttp://xiao:81/svn第一个地址是原来的版本库地址(用svn info可以看到),后面的是新的版本库地址