CnPack Forum


 
Subject: cvsnt2.5 版本与cvstracnt 配合使用方法
dalang
普通灌水员
Rank: 2


UID 551
Digest Posts 2
Credits 54
Posts 17
点点分 54
Reading Access 10
Registered 2004-11-4
Status Offline
Post at 2005-11-29 18:57  Profile | Blog | P.M.  | ICQ Status
cvsnt2.5 版本与cvstracnt 配合使用方法

李晓巍(大浪) qq:2632687;email:l_xiaowei@e-tol.com.cn  2005年11月29日
                                                                                
测试的环境:
        操作系统:windows2000
        安装如下软件:
                cvsnt-2.5.03.2151.msi
                cvstracnt 1.2.0 中文版



        大家知道cvstrac 是通过分析cvs的历史文件history来了解cvs库变化情况的,
自从cvsnt升级到2.5版本之后,在默认情况cvsnt2.5根本不会生成 history 文件,
这样cvstrac不能了解cvs库的变化情况,这也就是cvsnt2.5不能与cvstrac配合使用的原因。

下面分2种情况来说明,如何使用cvsnt2.5与cvstracnt配合使用。
1种情况,使用cvsnt2.5建立新仓库
        使用cvsnt2.5创建完仓库后,在服务器cvsroot 目录下手工创建空文件history,
        这样cvs库的变化就可以写入history。
        之后在cvstracnt配置界面"导入仓库",在cvstracnt上就能看到了cvs库的变化了。
       
2种情况,由旧版本库升级到2.5的仓库
    自从cvsnt升级到2.5以后,其设计发生了一些变化,有些商业运作的味道。
        其管理文件(在 cvs 仓库之中,$CVSROOT/CVSROOT 目录下的文件),也有很大变化,
        在初始化仓库时,增加了如下文件
                commit_email
                keywords
                notify_email
                postcommand
                postmodule
                precommand
                premodule
                shadow
                tag_email
                triggers
        而去掉了下面2个文件
             editinfo
             postcommit
             
        但是,我们在对cvs仓库升级到2.5时,对于库中的管理文件并没有自动升级,
        升级之后cvsnt2.5并不会向history 文件中写入信息,
        这也就是由旧版本升级到cvsnt2.5后不能与cvstrac配合使用的原因。
       
        结合前面的情况,对于升级到2.5的仓库要采用如下方法才能与cvstracnt配合使用。
        1.用cvsnt2.5建立一个测试仓库
        2.从测试仓库cvsroot目录下,copy如下cvsnt2.5新增的文件到要升级的仓库cvsroot目录下即可
                commit_email
                keywords
                notify_email
                postcommand
                postmodule
                precommand
                premodule
                shadow
                tag_email
                triggers

说明:history 文件升级到2.5之后,格式也发生了些变化,但是这些变化不会影响与cvstrac的配合使用
在v2.0.58d 写history文件内容的方法如下:
    sprintf (line, "%c%08lx|%s|%s|%s|%s|%s\n",
           type, now,
           username, workdir, repos, revs, name);

而在v2.5.01.1949  写history文件内容的方法如下:
    sprintf (line, "%c%08lx|%s|%s|%s|%s|%s\n",
           type, global_session_time_t,
           username, workdir, repos, revs, name);
           
这里在时间的设置上,用"global_session_time_t" 替换了 "now".
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2247
Posts 1554
点点分 2247
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2005-11-29 20:32  Profile | Site | Blog | P.M. 
好帖子,置顶!

看来最新版本的 cvsnt 又改 history 部分的代码了,大家可以试试:)




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
dalang
普通灌水员
Rank: 2


UID 551
Digest Posts 2
Credits 54
Posts 17
点点分 54
Reading Access 10
Registered 2004-11-4
Status Offline
Post at 2006-9-5 18:31  Profile | Blog | P.M.  | ICQ Status
不支持中文文件名

补充说明20060905
因为2.5的库结构与以往版本有个不同,就是在库中加入了文件名,且在文件名左右加入了@@ 符号(也许是为了支持可以改动文件名做的),所以上面提到的配合方式,不支持中文的文件名称。
Top
 




All times are GMT++8, the time now is 2010-9-11 00:53

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.029656 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP