1.1 Eclipse插件应用市场
如果不能联网可以使用下载好的插件压缩包eclipse_svn_site-1.10.5.zip,这个压缩包是从http://subclipse.tigris.org/网站(subclipse是这款Eclipse插件的名称)上下载的。安装方法是:
②将features和plugins复制到Eclipse安装目录/dropins/eclipse_svn_site-1.10.5下
④进入Eclipse依次打开Window→Preferences→Team→SVN,看到如下界面即说明SVN插件安装成功
①切换到透视图SVN资源库研究
此时可以查看版本库中的文件及目录结构
1.4 检出
<1>从服务器端获取到的是一些零散的文件,不能作为项目检出
此时会弹出一个新建项目向导,之所以会这样是因为我们需要创建一个项目来保存从服务器端取回的文件
<2>从服务器端获取到的是一个完整的项目,例如
此时必须作为项目检出
项目从服务器检出后,会成为一个工作副本,根目录下会自动创建.svn隐藏目录
1.5 提交
①新创建文件后,文件图标上会以“?”标识,表示该文件尚未纳入版本控制
③在要提交的文件上点右键→Team→提交...会提交文件,在弹出的对话框中可以不填写日志。文件提交后,图标会变为“金色的圆柱体”表示当前文件的版本和服务器端一致。
①更新整个项目时可以在项目上点右键→Team→更新
①在Eclipse中创建的新项目想要发布到SVN服务器端,可以通过“共享”项目实现
选择一个资源库位置
切换到Team Synchronizing透视图,选择项目中要提交的内容,通常是项目中的全部内容
1.8 恢复历史版本
②选择某一个历史记录点右键→获取内容。文件就会恢复到指定版本的状态,同时图标变为“*”。
可以通过将对应版本库中的svnserve.conf文件中的anon-access设置为none解决。
1.9 解决冲突
<1>两个开发人员,Harry和Sally,分别从服务器端下载了文件A。
<3>Harry先一步提交,使服务器端文件的版本也变成了A’
<5>此时Sally的更新操作有两种可能
(2)Sally所做的修改与Harry恰好是同一个位置,更新操作尝试合并文件失败,发生冲突。
(1)文件A中的内容发生如下改变
System.out.println("Edit By Command!");
<<<<<<< .mine
=======
>>>>>>> .r14
System.out.println("Edit By Command!");
}
其中,从<<<<<<< .mine到=======之间是发生冲突时本地副本的内容。从=======到>>>>>>> .r14是发生冲突时服务器端的最新内容。注意这里r后面的数字是发生冲突时服务器端的版本号,有可能是任何整数值,r14只是一个例子。
(2)与冲突文件同目录下新增文件,扩展名为.mine,其内容是发生冲突时本地副本的文件内容。
(4)与冲突文件同目录下新增文件,扩展名为.r大版本号,例如MyCRM.java.r14,其内容是冲突发生时,服务器端的文件内容。
(1)在冲突文件上点右键→Team→编辑冲突...→出现如下界面
以对比的方式将本地内容与冲突内容显示出来,其中左侧为本地内容,右侧为冲突内容。其中本地内容是可以修改的。
(2)根据需要和实际情况将本地内容更正——这个过程很可能需要牵涉冲突的两位开发人员进行必要的沟通——机器与程序目前还不能完全取代人工智能。更正后文件图标会变成一个“四角形”,同时冲突文件内的<<<<<<< .mine、=======以及>>>>>>> .r14等标记都会被去掉。
此时.mine文件和.r版本号文件都会被自动删除,冲突文件的图标变为“*”,表示可以提交。

