
 
文章目录
- 进阶知识-Linux下版本控制器(SVN)
- 5、命令行客户端
- 5.1 创建两个工作区目录模拟两个开发人员
- 5.2 检出
- 5.3 添加
- 5.4 提交
- 5.5 查看服务器端文件内容
- 5.6 更新操作
- 5.7 冲突
- 5.7.1 过时的文件
- 5.7.2 冲突的产生
- 5.7.3 冲突的表现
- 5.7.4 冲突的手动解决
- 5.7.5 冲突的半自动解决
- 5.7.6 减少冲突的发生
 
 
 
- 本人其他相关文章链接
进阶知识-Linux下版本控制器(SVN)
5、命令行客户端
5.1 创建两个工作区目录模拟两个开发人员
mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally
5.2 检出
-  作用:完整下载版本库中的全部内容。 
-  命令: svn checkout svn://192.168.70.140/pro_oa ./
-  附加效果 - 在指定目录下创建.svn目录
- 保存本地目录和文件状态信息,用来和SVN服务器进行交互
 
-  工作副本 - .svn所在的目录
- 版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。
- 为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn目
 
录中的内容。
5.3 添加
-  SVN要求提交一个新建的文件前先把这个文件添加到版本控制体系中。 svn add文件名
5.4 提交
-  要求1:附加日志信息 - 日志信息相当于写Java代码时的注释,用来标记本次操作所做的修改。
 svn commit -m "xxx" [文件名]
-  要求2:必须具备相应的权限 - 使用文本编辑器打开版本库根目录/conf/svnserve.conf文件
  
[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):svn:“/root/workspace/harry/hello.txt”尚未纳入版本控制
[root@rich harry]# svn add hello.txt
A hello.txt
[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):
svn:无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用--message (-m)或 --file (-F)选项
svn:没有设置 SVN_EDITOR,VISUAL或 EDITOR环境变量,运行时的配置参数中也没有“editor-cmd”选项
[root@rich harry]# svn commit -m "My first commit" hello.txt
svn:提交失败(细节如下):
svn:认证失败
[root@rich harry]# svn commit -m "My first commit" hello.txt
增加 hello.txt
传输文件数据.
提交后的版本为 1。
5.5 查看服务器端文件内容
[root@rich harry]# svn list svn://192.168.70.140/pro_oa
good.log
hello.txt
5.6 更新操作
- 作用:把服务器端文件所产生的所有修改下载到本地
命令:svn update [文件名]
5.7 冲突
5.7.1 过时的文件
-  概念:在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件。 
-  要求:所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的 
文件才允许提交。
5.7.2 冲突的产生
-  条件1:本地当前编辑的文件已经过时。 
-  条件2:从服务器端更新下来的修改和本地的修改在“同文件同位置”不一致。 
5.7.3 冲突的表现
- 文件内

- 目录内

xxx.mine文件:发生冲突时本地文件内容
 xxx.r[小版本号]文件:发生冲突前文件内容
 xxx.r[大版本号]文件:发生冲突时服务器端文件内容
5.7.4 冲突的手动解决
-  第一步:删除冲突发生时产生的三个多余文件 
-  第二步:删除冲突文件内多余的符号 
-  第三步:把文件编辑到满意的状态 
-  第四步:提交 
5.7.5 冲突的半自动解决
- 设置SVN_EDITOR环境变量

vim /etc/profile
-------------------------------------------
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
-------------------------------------------
source /etc/profileecho $SVN_EDITOR
-  解决的过程 -  使用e选项进入文件内容编辑界面  
-  进入vim编辑器编辑文件内容  
-  编辑完成后使用r选项标记为已解决  
 
-  
5.7.6 减少冲突的发生
-  尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。 
-  尽量减少多人修改同一个文件的可能性。 
-  加强团队成员之间的沟通。 
本人其他相关文章链接
1.Linux下版本控制器(SVN) -服务器端环境搭建步骤
 2.Linux下版本控制器(SVN) -命令行客户端



















