Subversion是新一代的版本控制工具,由于其优于CVS的一些特点,得到了越来越多人的关注和使用,本人根据自己使用SVN的经验,写了这篇文章,希望对大家有所帮助,其中有些实践并不是仅仅适用于SVN,对其他版本控制工具也是适用的。
1、养成良好的记录日志的习惯.
svn ci提交,最好在日志中记下清晰明确的信息,这个非常重要,对以后的维护(包括合并)都有很大帮助。
2、格式统一.
开发人员提交的文件格式要保持一致,统一为DOS格式或者UNIX格式,同时提交前对源代码采用统一的风格格式化(比如jalopy),这样对以后的合并、查看修改信息会更加方便。
3、如何把分支合并到主干上。.
只需要比较分支的初始状态与最终状态,然后将这些分支的修改应用到主干目录的工作拷贝。
步骤:
(1)、在本地将最新的主干取出
svn co
http://svn.example.com/repos/example/trunk example
(2)、到当前的example目录下合并分支,4889,4906分别表示分支的最初版本号和最终版本号
svn merge -r 4889:4906
http://svn.example.com/repos/example/branches/branches_test4、典型的svn目录结构
project/branches/
project/tags/
project/trunk/
5、项目代码测试发布前别忘打上tag,作为一个基准.代表一次发布版本。
6、实用的SVN命令
* svn copy 创建分支或者标签
svn copy
http://svn.example.com/repos/calc/trunkhttp://svn.example.com/repos/calc/tags/release-1.0 -m "Tagging the 1.0 release of the 'calc' project."
* svn switch 切换工作拷贝到指定的分支或者返回主干
svn switch
http://svn.example.com/repos/calc/branches/my-calc-branch* svn diff 版本比较
svn diff rules.txt 比较本地修改
svn diff --r 3 rules.txt 比较工作拷贝和版本库
svn diff --r 2:3 rules.txt 比较版本库与版本库
* svn revert 删除你的本地修改,恢复到修改前的状态.
* 查一个过去的版本,重定向输出到一个文件
svn cat -r 2 rules.txt > rules.txt.v2
*svn info 查看当前工作拷贝是在主干还是在哪个分支上。
subeclipse下载地址
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240启动服务
svnserve -d -r d:\svn
其中的 -d 参数表示 svnserve.exe 将会作为一个服务程序运行在后台,而 -r 参数表示将 ``D:\svn`` 目录指定为代码库的根目录。这样,当客户端使用类似 svn://192.168.0.1/foo 这样内容的 URL 来访问服务器时候,其所访问到的真实代码库,其实就是 ``D:\svn\foo``
在服务器端的 ``D:\svn`` 目录下,建立一个名为 arm 的代码库,命令如下::
创建代码库
D:\svn>svnadmin create arm
使用上述命令之后,如果不出问题的话,在 ``D:\svn`` 目录下就会多出一个叫做 ``arm`` 的目录,其下具备 conf、dav、hooks、locks、db 等子目录或文件,此即 **一个名为arm的代码库** 。从此,通过 ``svn://192.168.0.1/arm`` 这样的 URL,我们就可以对这个代码库进行访问了。接下来就要进入本文的正题了,也就是权限配置部分了。
posted on 2006-12-11 18:00
有猫相伴的日子 阅读(1896)
评论(3) 编辑 收藏 所属分类:
软件工程