CnPack Forum


 
Subject: CVSTracNT不显示WinCvs用import方式导入的模块
yedeluge
新警察
Rank: 1



UID 457
Digest Posts 1
Credits 23
Posts 3
点点分 23
Reading Access 10
Registered 2004-7-16
Status Offline
Post at 2004-7-16 18:09  Profile | Blog | P.M. 
CVSTracNT不显示WinCvs用import方式导入的模块

yygw,我有个问题想请教一下:
用WinCVS以import方式导入模块,但是在CVSTracNT的浏览器里面不会显示出来,
只有对那个模块的文件执行一次commit后,浏览器里面才会显示出来,而且也只是那个文件。

请问如何解决?
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 2004-7-16 21:37  Profile | Site | Blog | P.M. 
在管理员手册最后面的FAQ里面有说明如下:

问:为什么我无法在时间线和CVS仓库浏览中看到项目中的文件?
答:首先请检查一下CVSTrac中的CVS仓库路径和模块前缀是否设置正确,如果没有正确地设置CVS仓库路径,CVSTrac是无法找到项目文件的。
如果CVS仓库设置正确,仍然看不到文件,则可能是用户使用了 cvs import 命令或用 WinCVS 执行 Import Module 操作向CVS中导入模块的。在这种方式下在CVSTrac的 WEB 浏览CVS中将无法看到这些文件。原因如下:
CVSTrac 是通过分析CVS仓库CVSROOT/history文件来获得用户提交的文件名并放到数据库去的,WEB浏览则直接从数据库中读取文件列表来显示。而Import module操作只能在history 中生成一条记录,并不会记录每个导入的文件名,所以在CVSTrac的浏览中看不到。
一个解决办法是,不使用WinCVS来Import module,而使用TortoiseCVS “创建模块+添加所有内容”的方法。TortoiseCVS中创建模块的方法是先创建一个空模块,再把下面的文件添加到模块中,最后进行提交,这样就可以解决因为 history 文件中没有记录导致 CVSTrac 不能浏览 CVS 仓库的问题了。
如果已经用 cvs import 导入了模块,可以试试这个方法:在模块目录下执行这个命令,强制为每个文件创建一个新版本,这个操作会在 history 文件中产生记录,这样 cvstrac 就能看得到这些文件了。
cvs commit -f -R
附:TortoiseCVS是一个比WinCVS操作更方便的工具,集成在资源管理中使用,支持中文界面,可在此下载:http://www.tortoisecvs.org




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
yedeluge
新警察
Rank: 1



UID 457
Digest Posts 1
Credits 23
Posts 3
点点分 23
Reading Access 10
Registered 2004-7-16
Status Offline
Post at 2004-7-21 17:59  Profile | Blog | P.M. 
谢谢答复。又长了不少知识。
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-2 15:37  Profile | Blog | P.M. 
郁闷啊

我在用的时候也碰到这样的问题.
在管理员手册最後面的FAQ里面有说明用cvs commit -f -R,可以解决这个问题,
可是我执行了,产生一个.tmp的记事本,然后就卡住了,说它没运行又在运行,说它有运行呢它又没反应.最后我只好终止掉,
        可是,到CVSTrac页面上要去浏览还是没有目录出现啊.
能不能给我解释一下啊
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-2 16:31  Profile | Blog | P.M. 
我等得好急啊.什厶时候哪位能看到这个消息啊.

    快点给我一个答复啊.谢谢.
这个问题困扰很久了,总找不出原因来.
Top
jmc
新警察
Rank: 1



UID 505
Digest Posts 0
Credits 2
Posts 2
点点分 2
Reading Access 10
Registered 2004-9-2
Status Offline
Post at 2004-9-2 17:21  Profile | Blog | P.M. 
我也是,
我用wincvs执行cvs commit -f -R,wincvs好像就死在那里了。
我用TortoiseCVS想重新导入,但是确报文件格式错误,
请问点解决啊?
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-2 17:27  Profile | Blog | P.M. 
没错啊.用wincvs执行cvs commit -f -R,wincvs好像就死在那里∶"这句话说得太经典了
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 2004-9-3 09:01  Profile | Site | Blog | P.M. 
我在 WinCVS 下测试了一下,对模块执行 cvs commit -f -R 后,确实会打开记事本出来一个临时文件,这时候如果不修改直接关闭记事本的话,WinCVS会在日志区出来一行字:
Log message unchanged or not specified
a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs
提示用户日志信息还没指定,按道理这时候应该可以按 c 键继续,但此时不管怎样操作都无法继续,我怀疑这个是WinCVS只将命令执行结果输出重定向到日志窗口,而没有把键盘输入重定向到命令程序的Bug,我们可以在命令行下去试试。

转到操作系统命令行方式下,进入要处理的模块目录,执行:
cvs commit -f -R
(如果没登录,需要先登录,如果提示非法命令,可以用 cvs.exe 的全路径)
此时同样会出来记事本,同样不修改直接关闭,这时候会出来同WinCVS一样的提示:
选择 c 或直接回车就可以继续了。

其实要在 WinCVS 中使用这个命令,也是可以的,只要在弹出记事本窗口时,对其内容进行修改,增加自己的注释内容就不会再提示了。

另外,如果在 WinCVS 中执行命令强行中断了,可能会导致服务器上的操作锁未释放的问题,表现为再次进行 CVS 操作时,出现类似这样的提示:
waiting for Unknown User's lock in E:/CVSHome/
在 CVSNT 环境下,找到 CVS 仓库中与模块对应的目录,将 #cvs.lock 目录和类似 #cvs.wfl.ZhouJY(ZhouJingYu).692 这样的文件删除就可以了。Linux 环境下类似。




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



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-3 10:33  Profile | Blog | P.M. 
还是不行啊.我在操作系统中执行.
    我首行是先登入,然后执行选定模块,接着,就执行cvs commit -f -R.
可是它产生的信息是这样的
CVS commit: in directory .:
CVS [commit aborted]:there is no version here;run'CVS checkout 'first

什厶意思啊.
我好急啊.希望你们能快点看到哦.
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-3 10:39  Profile | Blog | P.M. 
版主,你好.我现在碰到的问题是,我们有两个项目,我们都用CVS来管理  ,
    并结合CVSTrac来进行任务管理及错误跟踪,可是,有一个项目呢,选择浏览,里面没有目录显示啊.而且时间线只有一条信息.而另一个呢,可以啊.而且时间线里面都有显示开发人员提交的动作.
    这样出错的原因是由什厶引起的呢.你能不能给我分析一下啊.
我真的很急啊.都两天的了,我还是搞  不明白啊.
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 2004-9-3 12:51  Profile | Site | Blog | P.M. 
错误信息是说你运行cvs命令的当前目录下没有cvs文件,你需要先转到要处理的CVS模块目录下去执行,否则cvs怎么知道你要提交哪个目录呢:)我前面有写的啊“转到操作系统命令行方式下,进入要处理的模块目录”。

不支持时间线和浏览的问题管理员手册上写了,有多方面的原因,请查阅。

CVSTrac提供了模块前缀过滤功能,可以为同一CVS仓库下不同模块建立多个CVSTrac数据库,你看看说明文档就知道了。




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



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-3 13:17  Profile | Blog | P.M. 
转到操作系统命令行方式下,进入要处理的模块目录
所谓的"进入要处理的模块目录",
是不是用这个命令啊.    cvs ls 模块名.        
          对了.是不是说要一个一个模块的执行啊.

关于时间线和浏览,我都把手册反复看了,我还是无法找出原因啊


CVS仓库下不同模块建立多个CVSTrac数据库,我们基本上都只是建一个数?库啊.
没有说,每个模块建一个啊.
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-3 14:40  Profile | Blog | P.M. 
我可以执行了.可是执行完"选择 c 或直接回车就可以继续了""""这一部,就没有什厶反应啦.
    而且,目录还是浏览不到.

为什厶呢.
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 2004-9-3 15:16  Profile | Site | Blog | P.M. 
进入要处理的模块目录,是指 cd c:\myproject 这种操作,进入的是本地工作目录,这个 c:\myproject 就是你的CVS模块在本地的工作目录,我前面没说清楚:)cvs 是通过读取当前目录下面的 cvs 子目录下的控制文件来工作的,所以执行 cvs 命令时要切换到要操作的模块对应的本地工作目录下。

如果正常的话,执行完 cvs commit -f -R 后,屏幕上会显示出所有被重新提交的文件及版本号,如果什么都没有,说明该命令实际上没有正确执行,请检查一下工作目录。

cvstrac是通过分析CVSROOT/history来获得文件列表的,如果你在浏览和时间线中看不到文件,可以用文本编辑器打开一下服务器CVS仓库下的history文件,看看里面有没有包含你提交的那些文件,如果没有,还得重新来执行 cvs commit -f -R。

在CVSTracNT的配置工具中,编辑一个数据库的属性,里面有一项“模块前缀”,可以使这个数据库只处理CVS仓库下指定模块的内容,管理员文档里有说明。假如你有一个仓库下面有三个模块,可以建三个CVSTrac数据库,三者的仓库都设置成这个仓库,但是模块前缀分别是各个模块名,就可以分别管理了。




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



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-3 17:37  Profile | Blog | P.M. 
首先很感谢你帮我回答这些问题.谢
   
文本编辑器打开一下服务器CVS仓库下的history文件,我打开过,里面有内容.
想问一下,CVS仓库下的history文件,里面除了存放提交的信息,其它的操作有没有也被写进去(比如,更新啦,导入导出啦.)

像你所说的,多模块多数?库会有什厶好处呢.只是方便管理的还是查信息职.
呵.
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-4 08:54  Profile | Blog | P.M. 
执行完 cvs commit -f -R 後,屏幕上会显示出所有被重新提交的文件及版本号


是有显示.后面还需执行什厶吗.
  我在WEB浏览上还是没有显示目录啊.
时间线的内容只会显示一条是创建任务单,根本不显示有提交的内容(那个显示提交的先项我有选上.)
Top
smallfish
普通灌水员
Rank: 2



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-4 12:54  Profile | Blog | P.M. 
在CVSROOT目录下,都有history文件,里面也都有许多提交的信息.
可是,在时间线上就是显示不出来.

有时会提示说.rlog中没有修订版本信息
          然后就列出,提交哪个模块的路径.

能帮我分析一下,这是哪里出错的吗.
谢谢
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 2004-9-6 22:27  Profile | Site | Blog | P.M. 
>文本编辑器打开一下服务器CVS仓库下的history文件,我打开过,里面有内容.
想问一下,CVS仓库下的history文件,里面除了存放提交的信息,其它的操作有没有也被写进去(比如,更新啦,导入导出啦.)

history文件主要是保存提交、分支、导入信息,虽然我还没找到确切的资料,不过如果更新和导出也保存的话,就太浪费了。另外在 CVSROOT 目录下有几个控制文件可以控制cvs日志。

>像你所说的,多模块多数?库会有什厶好处呢.只是方便管理的还是查信息职.

这个是根据你自己的管理需要,如果你在一个仓库中放了两个不同项目的模块,两个项目组基于同一个仓库进行开发,分成两个数据库当然更方便管理一些。

>执行完 cvs commit -f -R 後,屏幕上会显示出所有被重新提交的文件及版本号是有显示.后面还需执行什厶吗.  我在WEB浏览上还是没有显示目录啊.时间线的内容只会显示一条是创建任务单,根本不显示有提交的内容(那个显示提交的先项我有选上.)

如果history中有正确的信息,而WEB浏览上还是没有文件,就比较奇怪了。如果方便,你可以把你的history文件以及cvs相关的配置信息发邮件给我:zjy at cnvcl dot org

> 有时会提示说.rlog中没有修订版本信息然后就列出,提交哪个模块的路径.
这可能是因为仓库中的文件被删除或改名了。




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



UID 446
Digest Posts 0
Credits 55
Posts 52
点点分 55
Reading Access 10
Registered 2004-7-5
Location 福建
Status Offline
Post at 2004-9-7 10:11  Profile | Blog | P.M. 
现在我有点不明白的是,我在后面添加的库中,修改CVSROOT中的文件,然后在浏览中可以显示,可是其它的文件修改提交就是显示不了。
         
    你上面所说的,“cvs相关的配置信息“包括哪些呢。
  

1..在历史文件中,提交和导出它都有记录下来。我想问一下,哪里有 CVSROOT 目录下中的文件资料解析啊(中文的)
2.我们是一个项目一个库啊,没有把多个项目放在同一个库中。
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 2004-9-7 13:07  Profile | Site | Blog | P.M. 
你说的现象有些象文件被过滤了,可以检查一下CVSTrac数据库是否设置了“模块前缀”为CVSROOT。如果问题解决不了,可以把仓库下的CVSROOT目录和CVSTrac数据库文件发过来。

CVS中文手册:http://cvsdoc-zh.gro.clinux.org/cvsdoc/zh_CN/html/index.html

如果是一个项目一个库,就没必要用多数据库了。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
 




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

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

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