OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [原创]windows cvs 应用笔记

共4条 1/1 1 跳转至

[原创]windows cvs 应用笔记

菜鸟
2003-10-17 00:24:00    评分
/*------------------------------------------------------------------------ Module: windows cvs 应用笔记.txt Author: amine@263.net; http://amine.nease.net; QQ:188710731 Project: State: Creation Date: 2003-10-16 Description: ------------------------------------------------------------------------*/ /*------------------------------------------------------------------------ Purpose: 环境说明 ------------------------------------------------------------------------*/ Win2000 SP4 cvsnt-2.0.10 WinCvs13b13-2 Python-2.3 /*------------------------------------------------------------------------ Purpose: cvsnt安装和配置 ------------------------------------------------------------------------*/ 在服务器端用管理员账号安装cvsnt; 安装后, 会自动启动两个服务: cvsservice和cvslock; 启动 服务控制面板 来配置cvsnt; 可用来停止和启动cvsnt两个服务; 修改cvsnt配置时,应该停止服务.修改后, 再重启动; 设置资源目录, 用于存储归档文件. 一般设目录前缀(如e:/),再添加各分目录(如/cvsrepo). 资源目录建立时会创建cvsroot子目录. 在Advanced页面,选择Use local users for pserver...; Temporary栏中设置临时目录(如e:\cvstemp). /*----------------------------用户添加----------------------------------*/ 需要在Win2000中先配置用户,归入guest组; 在命令行窗口中,先, set cvsroot=:ntserver:<主机IP>: 为每个用户设置密码,密码可以和Windows用户的密码不同. administrator可以使用Windows中密码, 不用特别添加. cvs passwd -a <用户名> /*------------------------------------------------------------------------ Purpose: wincvs安装和配置 ------------------------------------------------------------------------*/ 启动wincvs需要安装python. 不要在工作盘上使用cvs作为目录名, wincvs使用cvs目录来建立和服务器的联系. 主要需要配置/wincvs preferrence/general/, 如下: auth: pserver path: /cvsrepo host: 192.168.0.112 user: amine cvsroot:amine@192.168.0.112:/cvsrepo(会根据前面设置自动填充) 在/wincvs preferrence/general/cvs/下设置cvs的Home目录(如e:\cvswintemp) 设置完后登录服务器, 输入密码, 登录成功显示: ***** CVS exited normally with code 0 ***** 用菜单/view/browser loc/change, 切换到自己的工作盘 管理员平时应该用普通用户工作;实现管理功能时才用administrator登录 administrator和普通用户最好使用不同的工作盘和工作目录 使用外部diff工具 可以使用cs-diff, beyond compare, examdiff等 在/wincvs preferrence/general/wincvs/设置 diff selection时注意选择使用extern diff 外部编辑器 最好用ultraedit 在/wincvs preferrence/general/wincvs/设置 /*------------------------------------------------------------------------ Purpose: wincvs日常使用 ------------------------------------------------------------------------*/ import module: 选择要归档的源代码目录 checkout module: 用户利用wincvs工作前,需要从服务器得到工作目录,建立与服务器的联系 注意选择module的存储目录,module带服务器上路径(?) add selection 添加需归档的新文件 remove selection 删除客户端的文件, 若再commit, 就会删除服务器上的文件,但并非物理删除,可以恢复(?) commit selection 向服务器提交自己的修改 有一个好习惯是,在你准备提交到服务器之前,先query update下,因为有可能别的开发者 在你修改这个文件的同时,也可能也修改了这个文件,这就有可能会存在冲突, 我们总是在提交前先处理冲突。 update selection 从服务器取最新版本, 注意不要损失自己的修改 如果自己对本地版本修改过, 操作不成功, 显示M <文件名> 可以再操作选择"get clean copy"强制取得服务器最新版本,本地文件会备份 query update 这是个查询命令, 没有实际的操作 看本地版本和服务器版本是否统一, 可经常使用, 以获得工程的最新进展, 以协调工作 M <文件名> 表示本地作过修改 U <文件名> 表示服务器版本已更新 C <文件名> 表示发生冲突 expoler selection 激活windows的资源管理器, 进行通常的文件操作 diff selection 查看本地版本和服务器版本的区别 graph selection 文件版本进化的图形显示, 可用他来取得指定版本, administrator可利用来删除不想要的版本, 比如最新的不正确提交 annotate selecttion: 查看文件各行的版本号, 修改者, 修改时间 macro/tcl/fast search modifed 指定要查看的目录, 看本地对那些文件作过修改 macro/tcl/build changelog 指定要查看的目录, 本目录下会生成Changelog文件, 显示每天服务器版本作过哪些修改 create tag on selection 开发到某个阶段, 对多个文件进行标记操作. 标记总是在工程发行或进行重大修改时进行. 当软件开发到一定阶段,测试完毕,有了一个比较稳定可靠的版本后, 如果这时又有新的需求到来,需要进一步开发, 若直接将改过的程序上传,就无法快速得到已经稳定的版本。 这就需要借助标签来实现,只要将稳定的版本都贴上统一的标签, 那么在下载时直接选择下载带有该标签的所有文件,就可以迅速得到所需的稳定版本 create a branch: 将修改隔离到一个分离的开发线上 例如: 我们设计了一个图书管理系统,把1.0版交给了客户A大学; 然后我们继续开发,有了新版本1.1版、1.2、1.3...... 这时A大学告诉我们,1.0版本有bug,我们很快在1.0版本的源代码中找到了错误所在。 这时候,最简单的解决办法是给A大学一个bug patch。你会问,为什么不给客户最新版本? 原因很简单:第一,我们还没有检查最新稳定版本中又无此bug; 第二,客户的系统已经运行了一段时间,升级到最新版本上可能还会发生更多新问题。 那么,我们就应该在1.0版本上建立一个分支,在这个分支上进行开发, 修改bug ,创建bugpatch,客户马上就能解决问题了。 然后我们关起门来,查看最新版本上又无此bug; 如果有,就将分支合并到主版本上,解决最新版本的问题。 建议 某些你还不能确定其含义的操作请先用测试用项目test做试验。 成员不要随意删除已有文件 提交代码时应注意某些文件是不需要提交到CVS服务器上的 当你提交的代码与服务器中的代码冲突时(WinCvs会自动告诉你),应谨慎处理 /*----------------------------管理员操作--------------------------------*/ 锁定文件: 一般而言,在项目小组中,项目经理会定期公布最新的基础版本, 要求小组成员都在这个基础版本上进行进一步开发。 在实际工作中,总会有些成员提前完成工作, 他们提交更改后,最新版本就会比项目经理发布的基础版本的version更高。 有时候,某些项目成员会有意无意修改基础版本,并且指定提交到基础版本上, 如果允许他们提交修改,大家可能都会在一个错误的基础版本工作,后果是不堪设想的。 锁定文件的操作如下: 菜单栏的admin->>comandline,输入这个命令: cvs admin -l版本号 文件全名 注意,-l和版本号之间没有空格。 /*------------------------------------------------------------------------ Purpose: 其他 ------------------------------------------------------------------------*/ 版本号w.x.y.z表示意思: w: 主版本号, x: 小版本号 y: 分支号, z: 分支修改号 /*------------------------------------------------------------------------ Purpose: 疑问 ------------------------------------------------------------------------*/ ?check out成功与否和wincvs的目录选择有关, 历史目录 ?如何自下载module到需要的目录, 带module的路径 ?cvs资源目录如何恰当设置, 和工程协调 ?tag使用 ?branch使用 ?冲突处理 ?功能探索 /*------------------------------------------------------------------------ Purpose: 网络资源 ------------------------------------------------------------------------*/ CVSNT网站: 可下载csvnt, 最新稳定版2.0.10 http://www.cvsnt.org/wiki/ WinCvs下载 最新版13b13-2 http://sourceforge.net/projects/cvsgui/ python: 最新版2.3 http://www.python.org/ WinCVS与CVSNT简明使用手则(1,2,3,4) http://www.csdn.net/develop/article/19/19756.shtm 安装 CVS 并将其配置为 SCM 资源库: cvsnt安装图解 http://www-900.ibm.com/developerWorks/cn/wsdd/library/techarticles/0202_yu/yu2.shtml team programing wiht cvs in wsad http://www.javaresearch.org/article/showarticle.jsp?column=151&thread=4471 WinCvs简明操作手册(1,2,3) WinCvs操作图解 http://www.51cmm.com/case/no015.htm cvs的配置和使用 http://www.xfocus.net/articles/200103/125.html 参考"WinCvs日常使用指南", 或英文版"WinCvs Daily Use Guide" 参考"使用WinCVS进行版本控制" 参考"WinCvs客户端使用技巧"



关键词: 原创     windows     应用     笔记     --------    

菜鸟
2003-10-17 21:31:00    评分
2楼
cvs是源代码文件版本控制软件, 包括服务器端(如cvsnt)和客户端(wincvs) windows表示应用平台

菜鸟
2003-10-21 16:12:00    评分
3楼
哈,amine老大也开始用CVS啦。 我好久不来了,今天先留个言。

菜鸟
2003-10-21 17:02:00    评分
4楼
都是大家引诱的, 不过还真不错! 原来自己一个人负责代码归档,太累 分布由各开发人员自己提交,好多了, 就是cvs功能太复杂,还没摸透,有的功能还不敢试,多交流

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]