欢迎对质量和测试感兴趣的同行参与!

发布新日志

  • SVN的使用心得

    2008-01-22 12:26:08

    陆续使用了一年多的SVN版本控制工具,经历了从一个新手逐渐走向成熟的过程,体会颇多,其中也不乏发生很多愚蠢的错误,现将得失和经验总结出来,供大家参考!

    首先学习是一个循序渐进的过程,不要指望一口吃成胖子。当初,我接受公司建立SVN环境的任务时,几乎对SVN一窍不通,也没有人教,只能通过网络和借鉴别人的经验来慢慢的摸索和学习。

    其次要根据学习资料中的例子,自己动手反复练习,学会两种服务方式,多种环境的配置,不要只局限于单一的svnserve服务配置。

    在建立SVN环境的前期,应了解公司目前的软硬件环境和领导的意图,如果领导的意思只是建立一个共享库,那我觉得没必要使用SVN,用简单的VSS、FTP、共享文件夹就可以。同时必须强调的是,要注意各种安装软件的版本问题,比如说SVN客户端程序、服务器程序和apache的版本要尽量选择较新的版本,我在配置过程中就遇到过类似问题,由于apache和服务器程序的版本不兼容,造成IE浏览器无法读取版本库。另外,在建立前,必须理清版本库的框架以及权限分配,你可以在纸上画出框架和权限草稿,经相关人员讨论确认之后,再合并到正式的配置文档中备案。

    在SVN所需软件都安装完毕测试通过后,我们就可以配置SVN服务器了,具体的配置方法,这里不再详述,网上有很多。我这里想说的是,权限配置无需太复杂,分支不要太多,用户名和密码尽量与公司内部其它系统的用户名和密码统一,权限配置文件中需增加一定的注释,以利于维护和提高效率。权限配置文件的编写规范一定要遵守SVN的要求,否则会报错。此外,SVN只认UTF-8格式的字符集,故如果报错的话,可先将配置文件转化成UTF-8的格式再尝试。

    SVN服务器配置完毕,开启服务,这里推荐使用svnservice第三方工具和apache服务方式,这样可以避免系统因死机或重起带来的服务中端问题,这里要指出的是svnserve和apache服务方式都支持外网访问,通俗的说在家里也可以访问公司的服务器,需要注意的是前者必须安装SVN客户端,后者只须访问IE浏览器,此外,前者访问协议是svn://域名/版本库名,而后者可以通过IP地址进行访问,http://192.168.1.96/版本库名。,当然SVN的访问协议类型有好几种方式。

    SVN服务开启数量不宜过多,因为每开启一个都占用一个端口,所以尽量只建立一个服务路径,将所有版本库置于该路径下,就可以避免此类问题。

    SVN服务开启成功后,我们就可以第一次初始化导入版本库的框架了,通过GUI界面和命令均可,我在导入的过程中经常遇到错误,要么导不进去,要么只能导入一部分,检查错误发现基本上是权限配置文件的问题,修改就可以避免。在框架导入成功后,如果需要增加新的框架那如何办呢?这里不建议使用Import和提前修改配置文件。建议先将框架提交到服务器后,在修改配置文件。

    初始化导入完毕后,我们就可以checkout了,增加和删除文档请尽量使用SVN自带的add 和 delete功能,而不要使用windows的delete。至于原因我想使用svn自带的功能,会在它的.svn文件夹里留下记录,这样操作不容易出错。

    SVN环境建立成功了,接下来就是如何管理了。为了有效管理和杜绝垃圾文件,部门级别文档,由部门经理予以审核上传;项目文档由PM审核上传;公司级别文档,由公司文档控制中心审核上传,具体每一步操作必须填写相应的信息,包括操作时间、操作人、操作动作、操作内容等等,SVN里message的输入具有一定的记忆存储功能,可以减少些许录入的时间。

    我们都知道SVN具有强大的二次开发功能,具有热备份功能,可以实现自动备份,支持shell编程,这里我基本上没有多少发言权,高手很多,我目前也是在学习阶段,只是帮助公司建立了很简单的完全备份和增量备份的制度以及脚本,基本上实现在linux环境下自动备份的要求。

    我们在使用SVN的过程中要注意以下几点:

    1、尽量避免用SVN自带的Repo-browser,尤其对于新手来说,因为在该浏览器上做的任何操作都会直接造成服务器的变动。

    2、不要随意添加删除框架,如果非要添加,需通知配置人员添加,完毕后须通知相关人员update.

    3、公司内部使用SVN的每个人,养成早上打开电脑第一件事就是SVN update,然后再commit

    4、配置人员在配置完毕后,需编写正规的配置文档,并给员工培训SVN的使用。

    5、配置人员在熟悉基本的使用方法后,应实施邮件自动通知的功能。

    时间仓促,暂且就写这么多,文笔不好,请大家原谅!如有错误请大家多提宝贵意见!谢谢!

     

     

Open Toolbar