2008年12月3日星期三

开始改用SVN啦

http://www.ibm.com/developerworks/cn/opensource/os-ecl-subversion/
这个文章介绍了如何结合使用 Subversion 和 Eclipse,很完整。
接下来,简单介绍一下,我对SVN的使用心得:
这里只谈Eclipse:
首先,如同上面给的链接的做法,完成前期设定。
然后Windows --> Open Perspective --> Other... --> SVN Repository Exploring
这时可以对SVN Repository 进行修改。(也可以点击Eclipse右上角的图标进行Perspective 的改变)
--> New --> New Remote Folder
--> 建立自己的项目目录
然后 --> 进行分支设定(以下部分内容来自互联网)
+-trunk 保存项目开发的主线。
+-branches 保存项目的各种开发分支。
+-tags (保存项目的标签,也就是创建后永远不会修改的分支,例如发布release版本,它是某个项目,某个时间的一个快照,每次提交一个修订版本其实都是一个精确的快照。)

简单的说:就是-->trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。

附注:
常用分支模式: 转载自:http://blog.csdn.net/windone0109/archive/2008/09/10/2908117.aspx
a、发布分支:在代码发展到一定阶段,建立发布分支,将当前的一个版本取出来,拷贝到branches目录下,进行全面严酷的测试,如发现BUG则在当前版本进行修复,并同步更新trunk中的BUG,经测试完成后,将文件拷贝到tags目录中发布,并提交给客户。
b、特性分支:如果需要作复杂的修改,会影响到trunk代码的稳定性,则建议建立一个特性分支,等特性稳定之后,再和truck主干合并。
------------------------------------------------------
NOW使用trunk作为主要的开发目录。
一般的,我们的所有的开发都是基于trunk进行开发,当一个版本/release开发告一段落(开发、测 试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。
当下一 个版本/阶段的开发任务此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。应该基于发行版对应的tag,做相应的分支(branch)进行开发。开始,继续在trunk进行开发。

待一切都搞定后,现在可以开始使用SVN进行版本控制啦。
右击Project在 Eclipse 的项目视图,并且从菜单中选择 Team --> Share Project, 选择 SVN,然后单击 Next --> 接下来就很简单了,这里不再说明。
值得注意的是:如果将文件添加到项目中,它不会自动成为版本控制的一部分 —— 需要明确将其添加到特定的存储库中右击新文件,然后选择 Team --> Add to Version Control
当然了,我们也可以进行,“更新项目” 版本控制系统的重要特性之一是其他开发人员能够随时继续开发,并在准备好时提交其变更,但是我现在只是一个人进行编程,暂时不需要用到这个功能。这个功能可以下载这些变更,并将其与本地副本集成。 右击要更新的项目,然后从菜单中选择 Team --> Update。Eclipse 将从存储库中检索任何变更,并尝试将它们与本地副本合并。
对我们来说重要的功能是“提交更改” 如果确定了新的代码可以编译,并且已经对变更进行测试,这时就可以把它们放入Subversion 存储库。右击项目,并从菜单中选择 Team --> Commit。Eclipse 会显示一个 Commit 对话框。
SVN还有很多很好的功能,具体请看IBM的帮助文档。

现在谈谈SVN for Window的最最简单用法,先下载一个SVN的Window版本,然后安装。选中你所要check out 的文档,按鼠标右键,选SVN Checkout,在URL of repository里填上你的路径(这个路径你可以用例如http:/.../trunk/abcd/),自己创建一个Checkout directory,然后点OK。接下来,你就有一个带SVN标志的文件夹,你可以把你所要进行文档版本管理的文件放入这个文件夹里,现在就是最后一步啦,点击这个文件夹,点击鼠标右键然后点SVN Commit,完成了,这时文档就上传到.../trunk/abcd/里去了。

没有评论: