您的位置:首页 > 其它

用subversion(SVN)进行版本管理 (一)

2007-05-18 17:58 183 查看
用subversion(SVN)进行版本管理
(转贴来自互联网 https://bbs.dreamz.org
作者:upig)

版本管理约定

程序员编写程序的过程中,每个程序都会有很多不同的版本,这就需要程序员很好的管理代码,在需要的时间可以取出需要的版本,并且每个版本都有一个完整的说明。

我们使用Sub Version(简称SVN)作为版本管理工具。这里着重介绍SVN作为跨平台的多人协作使用方法。在多个程序员管理同一段代码的过程中,版本的管理显得尤为重要,使用SVN可以方便的进行分支、合并,记录下所有的版本。

SVN基本配置
在开始某项软件、文档的开发与撰写时,首先由配置管理负责人建立SVN仓库、用户名及其权限,并通知相关人员SVN仓库地址、SVN仓库负责人。

配置强制注释
SVN仓库的负责人把工程的tsvn:logminisize设置为1,以便强制注释。设置方法:在你的工程文件夹右键->属性中,进入 Subversion标签,选中tsvn: logminisize,确保复选框recursive选中,然后点击Set按钮把它的值设为1,其意思是指提交的注释最短长度为一个字。如图:




SVN软件配置

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编程时常用的一些忽略文件。




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分别指..将要合并到主干的分支,主干,及合并后的结果。




SVN仓库目录结构
SVN仓库的负责人规划好仓库的目录结构。推荐的目录结构如下图所示。

仓库的一级目录只有两个,分别为code和doc。其中,doc主要用来放置先期的文档,code主要用来放置工程的代码,也可以包含后期的文档。

仓库的二级目录只可以是branch与trunk两个目录,分别存放主干与分支。trunk目录下直接存放工程文件。branch目录下包括一些子目录分别对应各个分支。




本地目录结构
从SVN仓库中取出代码时,一定不要把整个仓库取出来,而应该只取出trunk目录,或只取出branch下的某个分支目录(比如上图中的svn://code/branch/xw_051206)。

合作开发方法

合作开发基本流程
一个项目会有多个人共同合作开发完成。基本流程是:

各开发成员建立自己的分支,并在此分支上开发

各开发成员把分支合并到主干上并形成较为稳定

各个成员重新从主干上建立新的分支,在此分支上开发(即回到第一步)

循环往复,直到工程结束。

下面我用一个例子来说明合作开发的基本流程。
现在xb与lzj两个开发人员要共同开发一个工程onlytest,其这个工程的主干的SVN仓库地址如下图。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: