本节接着上节介绍Linux下SVN客户端安装及环境配置方法,在这里和大家分享一下,希望通过本节的介绍大家对SVN客户端安装及环境配置方法有一定理解。SVN(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。下面是具体操作步骤。

一、SVN命令操作
 假设svn服务端上有如下库目录:
 Steven在他的用户目录中有workplace目录,他想把DemoProject签出到他的workplace目录中,并进行操作:
0、进入workplace目录,使用checkout命令签出:
viewplaincopytoclipboardprint?
 cdworkplace
 checkoutDemoProject
 cdworkplace
 checkoutDemoProject
 此时注意:如果你的登陆的linux终端登陆用户和你的svn操作用户名同名(比如都是steven),则会提示你输入svn操作用户的密码,否则会先提示你输入linux终端用户密码,然后提示你输入svn操作用户名和密码
 进行完上面操作后,在workplace目录中就会出现DemoProject目录。
1、SVN客户端安装及环境配置时命令操作中单个文件的操作(hello.cpp)。进入到目录DemoProject/src/demo
A)更新到本地
 viewplaincopytoclipboardprint?
 svnup
 svnup
B)修改后提交到库
 viewplaincopytoclipboardprint?
 commithello.cpp
 svnup
 commithello.cpp
 svnup
C)新增一个文件到库(进入src/include目录)
 viewplaincopytoclipboardprint?
 svnup#更新本地工作目录
 svnaddhello.h#添加到库
 commithello.h#提交hello.h到库
 svnup#更新本地工作目录
 svnup#更新本地工作目录
 svnaddhello.h#添加到库
 commithello.h#提交hello.h到库
 svnup#更新本地工作目录
D)删除库上一个文件(进入src/demo目录)
 viewplaincopytoclipboardprint?
 #svndelhello.cpp删除库中的hello.cpp文件
 #commithello.cpp提交到库
 #svnup更新本地工作目录
 #svndelhello.cpp删除库中的hello.cpp文件
 #commithello.cpp提交到库
 #svnup更新本地工作目录
2、SVN客户端安装及环境配置中命令操作中文件夹的操作(这里需要考虑文件夹中还有子文件夹的情况)(src目录)
 A)更新指定文件夹到本地(进入DemoProject目录)
 #svnupsrc//则src目录及目录下的所有子文件夹更新到DemoProject目录下
B)提交修改过的整个文件夹到库(修改了文件夹include
 viewplaincopytoclipboardprint?
 #svnup
 #commitinclude
 #svnup
 #svnup
 #commitinclude
 #svnup
C)新增一个文件夹到库(DemoProject/lib)
 进入DemoProject目录:
 viewplaincopytoclipboardprint?
 #svnmkdirlib创建lib包
 #commitlib提交到库
 #svnup更新本地工作目录
 #svnmkdirlib创建lib包
 #commitlib提交到库
 #svnup更新本地工作目录
D)删除库上一个文件夹(demo)进入DemoProject/src/目录
 #svnup更新本地工作目录
 #svndeldemo删除demo文件夹
 #commitdemo将删除提交到库
3、本地与库之间的操作
 A)查看库上目录结构(查看DemoProject目录结构):#listDemoProject
 B)对比本地与库上某个文件或者整个文件夹(进入src/demo目录):#svndiffhello.cpp
 C)查看库上某个文件提交记录(什么时间、什么人提交过):#svnlog–vhello.cpp
4、SVN客户端安装及环境配置时其他操作
A)查看src/demo目录下的文件的状态(是否修改后没有提交等)
 #svnst
 如果你的hello.cpp修改后还没有提交,则使用svnst会在***列显示hello.cpp的状态为M,表示项目已经修改但没有提交到库。
B)查看svn命令的帮助
 #svnhelpupdate查看update命令的帮助.
C)提交时冲突(没有更新本地工作目录而修改文件导致冲突)处理:
(1)想使用项目仓库中的版本,而放弃本地拷贝的修改:
 #svnreverthello.cpp
 #svnup
(2)想保留本地工作拷贝的修改,而放弃项目仓库中版本的修改:
 #当你解决了冲突的文件,就可以使用resolved
 #svnresolved
 #svncommithello.cpp
D)checkout下来库的老版本
 首先查看你需要checkout下来的DemoProject老版本,然后再checkout下来:
 #svnlogDemoProject查看老版本,比如是4330版本
 #checkoutDemoProject–r4330。SVN客户端安装及环境配置介绍完毕,请关注本节其他相关报道。