Introduction
Add your content here.
Eclipse安装SVN
1 点Eclipse help菜单---> software update
2 选Available Software选项卡,点击add site 新建新的地址资源,在地址里面填 http://subclipse.tigris.org/update
3 接下来就是安装了
新建svn仓库
1 在eclipse里面点windows菜单,而后选 show view--> other , 而后选择svn下的资源库
2 在打开的窗口里面点击右键,选 "新建SVN资源库", 地址填https://performancetestingtool.googlecode.com/svn/trunk
把新项目上传到SVN
1 在要上传的项目 点击右键 选择team ->选择share project-> 选择svn -> 而后选择开始新建的主干仓库,上传的项目最好是稳定的版本(由于上传的地方是主干)
合做开发
1 合做开发的开发人员每一个人都先连上主干,而后给主干新建一个分支,再从分支上面导入项目,本身的开发都放在分支上面来开发
2 等到你们模块都那个完成以后,先让一我的merge到主干,接下来一个一我的来merge
svn 合做开发 版本管理
用subversion(SVN)进行版本管理 关键字: SVN
1。版本管理约定
程序员编写程序的过程当中,每一个程序都会有不少不一样的版本,这就须要程序员很好的管理代码,在须要的时间能够取出须要的版本,而且每一个版本都有一个完整的说明。
咱们使用Sub Version(简称SVN)做为版本管理工具。这里着重介绍SVN做为跨平台的多人协做使用方法。在多个程序员管理同一段代码的过程当中,版本的管理显得尤其重要,使用SVN能够方便的进行分支、合并,记录下全部的版本。
2。SVN基本配置
在开始某项软件、文档的开发与撰写时,首先由配置管理负责人创建SVN仓库、用户名及其权限,并通知相关人员SVN仓库地址、SVN仓库负责人。
2.1 配置强制注释
SVN仓库的负责人把工程的tsvn:logminisize设置为1,以便强制注释。设置方法:在你的工程文件夹右键->属性中,进入 Subversion标签,选中tsvn: logminisize,确保复选框recursive选中,而后点击Set按钮把它的值设为1,其意思是指提交的注释最短长度为一个字。如图:
3. SVN软件配置
3.1 忽略文件
在SVN 的Setting的General中,设置须要忽略的文件以便忽略掉一些临时的、无用的文件,常被忽略的文件有 .opt .ncb .suo .plg .pch.idb .pdb .scc .obj Debug Release .o .bin .out .ilk .aps debug release .clw .bak。每一个程序员能够根据本身的须要进行修改忽略文件,上面只是使用VC++与Tornado编程时经常使用的一些忽略文件。
3.2 合并比较工具
在Merge Tool中能够选择用来合并的工具,强烈推荐用Araxis Merge。在Setting->Diff中填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe";在Setting->Merge的选项中,填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe" %theirs %mine %merged ;其中"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe"是指合并工具的路径,%theirs %mine %merged分别指..将要合并到主干的分支,主干,及合并后的结果。
4.仓库目录结构
SVN仓库的负责人规划好仓库的目录结构。推荐的目录结构以下图所示。
仓库的一级目录只有两个,分别为code和doc。其中,doc主要用来放置先期的文档,code主要用来放置工程的代码,也能够包含后期的文档。
仓库的二级目录只能够是branch与trunk两个目录,分别存放主干与分支。trunk目录下直接存放工程文件。branch目录下包括一些子目录分别对应各个分支。
4. 本地目录结构
从SVN仓库中取出代码时,必定不要把整个仓库取出来,而应该只取出trunk目录,或只取出branch下的某个分支目录(好比上图中的svn:\\code\branch\xw_051206)。
5.合并开发方法
5.1 合并开发基本流程
一个项目会有多我的共同合做开发完成。基本流程是:
各开发成员创建本身的分支,并在此分支上开发 各开发成员把分支合并到主干上并造成较为稳定 各个成员从新从主干上创建新的分支,在此分支上开发(即回到第一步) 循环往复,直到工程结束。 下面我用一个例子来讲明合做开发的基本流程。 如今xb与lzj两个开发人员要共同开发一个工程onlytest,其这个工程的主干的SVN仓库地址以下图。
5.2 分支的创建
xb与lzj分别在onlytest这个工程中创建两个分支,分别为xb 051115和lz_051115。
在这里分支命名要采用[姓名缩写6个数的日期 后缀(可选)]的形式,好比xb_051208_1,xb_051212之类的。建立完分支后咱们能够看到这个工程的目录结构以下图所示:
建完以后, xb和lzj分别在本地取出对应的分支进行开发。
5.3 分支的合并
当程序到达一个比较稳定的阶段,就须要把分支合并到主干上,下面讲述一下合并的流程。在本节中继续使用上一节中所示的工程与SVN仓库讲解。
5.3.1 xb与lzj分别修改本身分支上的代码
如今,主干上的test_SVN.txt是空文档。由xb与lzj修改提交后,两个分支中test_SVN.txt分别以下两图所示:
5.3.2 xb先把主干check out到本地。而后在主干的目录上右键选择svn->merge,弹出以下窗口:
xb先把主干check out到本地。而后在主干的目录上右键选择svn->merge,弹出以下窗口:
此对话框的含义是把From指定的分支版本到To指定的分支版本之间的差别合并到主干上。
在这里分支选的是xb_051129。版本号的选定方法是点击From中的Show Log,在Log窗口中按住Ctrl键,点击选择”made a copy”之上的那个版本,以及最顶上的那个版本,如图 2.11所示。而后点击肯定回到上图中的对话框,会自动填写From与To中的Revision号。
而后直接点击merge进行合并,你也能够经过dry run来看是否是二者之间有差别。因为没有其它人修改主干,因此合并的很顺利,下图是xb_051115与主干合并后的结果。合并完毕以后,由xb对主干进行提交。
5.3.3 将lzj_051129分支合并到主干,解决冲突
xb合并完毕以后,lzj要将他的分支合并到主干上去,方法同上。可是因为xb已经修改过主干,因此产生了冲突,会弹出一个冲突对话框。双击对话框中的产生冲突的文件名,就能够调出工具对此文件进行合并,下图是咱们用merge工具显示的界面。
首先比较第一个窗口与第二个窗口,把结果修改合并到第二个窗口。 而后确保光标处于第二个窗口时,点击上图中红色圈圈所示的按钮。这样会把第二个窗口的内容所有复制到第三个容口。以后保存,退出。 而后在工程目录上点右键,进行SVN->Resolved。这样会删除无用的临时文件。 最后提交所做的修改,并添加详细的注释。
6. 其它注意事项
6.1 SVN中的标签 与CVS不一样,使用SVN时不用专门为目录添加标签,由于SVN也对目录进行版本管理。
咱们在提交时写好注释(好比重要的版本提交时使用051201之类的日期做为开头),就能够经过注释来查找比较重要的目录版本号,至关于CVS或VSS中的标签。
另外,每一个工程都会有一个版本说明文件,经过此文件能够查找关键版本。
6.2 文件的删除、移动与重命名 你能够重命名、移动或删除你的文件或文件夹,但请使用SVN进行这些操做,不然以前的版本信息会丢失。
使用SVN删除、移动与重命名文件夹的方法是在文件/文件夹上点右键进行SVN操做,或直接在资源浏览器中使用右键拖放(会弹出SVN选项)。
文件的删除、移动与重命名以前,必须保证工做目录是最新的版本;进行这些操做以后,须要进行提交。
6.3 版本的回退
在代码的编写过程当中,不免会有不尽人意的地方,你也许须要回退到某一个版本,可是在这个过程当中可能有一些文件你想保留,也有一些文件你不想保留,这就牵扯到很复杂的版本管理过程,在这里给你们推荐几种方法。
6.3.1 如果你编辑了工程,在没有提交的前提下,你想放弃这些修改,你能够直接选择revert就能够更新到工程的最新的版本。
6.3.2 如果你想退回到某一个版本,你就能够直接选择update to reversion如图,这样咱们就能够把咱们的版本回退到你选中的版本去,这种状况下SVN并无显示出有什么冲突,而且新创建的文件也还在,可是在这种状况下你并不能直接在你回退后的版本上进行编辑,由于SVN的版本控制仍是在最新的主干上。咱们须要 update并解决冲突。
6.3.3 你能够直接选择revert changes from this revision如图,这样的话你能够直接解决冲突并提交。不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到以前的版本了。
6.3.4 我推荐的一种方法是,直接export一个你须要的版本,而后用你export的版本覆盖你的最新的版本,这样你就能够不丢失你新建的文件,同时得到head的SVN控制文件。
6.4 提交的时机
每一个工程会有不少个小模块,当某个模块达到稳定的时候,你就须要提交一次,以避免写下个模块代码的时候出现不可恢复的错误。
每一次提交须要前,须要经过pclint检查,保证是一个编译没有错误的版本。当提交比较稳定的版本的时候,同时要修改你的版本号。
提交的时候要添加注释,若多人共同修改同一段代码咱们就须要为注释添加上更加详细的说明
6.5 版本说明文件
版本说明文件为xml表格,可用excel编辑,它会记录下关键的版本信息。
版本说明文件内容以下表。发布版本是指用户对外公布的版本号,后文中有详细描述;Revision是SVN内部的工程文件夹的版本号。一个发布版本可能对应多个Revision:
原文转载自:
http://www.cnblogs.com/arci/archive/2011/09/01/2161531.htmlhtml