|
|
第 1 帖 | |
|
|
标题: CVS用后感,欢迎大家来补充 CVS希望提供给用户的功能是尽可能完整且方便的记录项目的开发轨迹, 我只是个人使用了一段时间的CVS, 所以以下只是单用户的感受:
1. 什么时候需要commit in? 使用CVS的目的是为了记录项目开发的功能性添加, 删除, 更新的轨迹. 即我们只有在_完成_了对项目的功能性的修改后才 需要提交我们所做的修改. 而不是说我把修改提交到CVS库里面是因为怕丢失我今天或近几天所做的修改(实际上, 只要你的 硬件不是水货中的极品, 在GNU系统上进行开发是完全不用为此*心的). 举个例子: 我想为项目1修改功能X(包含了添加和删除). 期间需要修改文件A的函数foo(), 文件B的函数bar(). 我们不应该修改完foo()后就提交一次, 修改bar()后又提交一次. 而是应该等我们修改完foo() & bar(), make, debug, 觉得 对X的功能修改满意后再commit in. 可能我在提交的时候会忘记对哪些文件做了哪些修改了, 但只要记得使用cvs status和 cvs diff, 问题应该容易解决. 2. commit log应该怎么写? 初学者在commit in写log的时候往往是在项目根目录下进行commit in, 然后写本次修改的记录. 这样就会造成修改过的文件 具有相同的日志记录, 从而带来两点不利之处: 没有针对性且日志记录很多, 不便于查看. 所以我建议的方法是针对不同的修改, 写单独的log. 换句话说, 就是对单个文件或具有类似修改的某组文件分别提交, 写不同的日志. 在上面的例子中, 假如我们为功能X修改了文件A之函数foo(), A_1之foo(), A_2之foo(), A_3之foo(), B之bar(), 我们提交的方法应该是cvs ci A A_1 A_2 A_3 && cvs ci B. 如此一来, 我们将很难对功能X的修改进行全局性的把握, 因为文件A, A_1, B的revision编号很有可能是不一样的. 解决这个问题的方法可以是使用ChangLog文件, GNU系统上面很多工具可以很方便的将CVS文件之log针对性的提取到ChangLog 文档里面, 例如我们在上面可以使用cvs ci A A_1 A_2 A_3 && cvs ci B后再将刚刚输入的所有log信息复制到ChangLog内. 所以通常情况下提交的最后一步是cvs ci -m"" ChangLog^-^ 3. 我是不是可以取出我的任意一次commit in? 是的, 曾经有段时间一直认为只能取出打了标记的历史版本, 其实CVS为项目记录了每次commit in的动作, 用户可以通过 revision内部编号取出任意某个文件的任意历史版本(e.g. cvs co -r1.3 src/server.c). 在用户想放弃对某些文件至上提交以来的所有修改时, 再提取一次上次版本覆盖当前工作文件就行了, 不需要用户额外去备份. 4. 我是不是可以修改CVS库中以前的日志记录? 是的, 可以通过cvs admin -m 1.2:"`cat newlog.txt`" server.c来对以前的log message进行更新. (这个命令找得我好苦!) 最后一点, 建议使用GNU Emacs进行项目开发却还在终端下使用CVS的用户看看VC(version control NOT Vi$ual C++)和PCL-CVS的使用手册, enjoy!
__________________
生活似水 平淡中孕育滋味 此帖于 05-01-12 11:57 被 bigml 编辑. |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
好贴,受益非浅
__________________
LFS ID: 6226 Name: netdigger First LFS version: 5.0 Current LFS Version:6.3 PIII 550 + 320M + 8G LFS 6.3 |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
我到现在还不知道怎么用cvs。。
__________________
www.xlmo.org |
|
|
|
|
|
|
|
第 4 帖 | |
|
|
标题: 怎么管理CVS的用户 怎么管理CVS的用户阿?比如添加一个用户到CVS用户列表,有没有什么命令直接加的?
|
|
|
|
|
|
|
|
第 5 帖 | |
|
|
一般cvs/svn的提交只有一个要求,能够通过编译。HEAD/TRUNK里面有bug是正常的。
|
|
|
|
|
|
|
|
第 6 帖 | |
|
|
现在好些大型站点都在转svn了
|
|
|
|
|
|
|
|
第 7 帖 | |
|
|
用eclipse提供的CVS客户端功能,已经非常的好用。
__________________
CPU : P4 2.0 主板 : 华擎P4VT8+ 内存 : Kinston DDR400 512MB 显卡 : 七彩虹6200A-GD2 CT超频版 声卡 : 主板集成CMI9739六声道 硬盘 : 迈拓金钻10 80GB IDE OS : Debian GNU/Linux Etch GUI :GTK based on DirectFB _______________________________ Help others by sharing your knowledge! |
|
|
|
|
|
|
|
第 8 帖 | |
|
|
改用SVN之后,还是觉得SVN的管理方式更符合我的习惯。
|
|
|
|
|
|
|
|
第 9 帖 | |
|
|
SVN要好些
|
|
|
|
|
|
|
|
第 10 帖 | |
|
|
确实,现在都用svn了。cvs老了。提交的唯一要求也确实是能通过编译,svn鼓励以提交来备份源码。
|
|
|
|
|
|