WinCVS与CVSNT使用手记

WinCVS与CVSNT使用手记

WinCVS与CVSNT使用手记

Roger Yang

参考资料:
    1.  WinCVS与CVSNT简明使用手则(一)
        http://www.dingl.com/view.shtml?xh=211
        WinCVS与CVSNT简明使用手则(二)
        http://www.dingl.com/view.shtml?xh=212
        根据这篇文章,使用cvsnt在WINXP上成功架设了CVS服务器.并用WinCVS完成了CVS的一些基本操作.

    2.  WinCVS操作手册.pdf
        大小:2,991,880字节
        WinCVS不错的入门手册
        下载地址:
         http://61.172.250.46/yang/private/blog/wincvs_manual.rar

    3. CVS快速入门.pdf
         大小:1,724,983字节
         虽然介绍的很浅,但提到的几个知识点都介绍的很详细.
         下载地址:
          http://61.172.250.46/yang/private/blog/cvs_quick_intro.rar

        

1.  CVS服务端安装
    CVSNT 2.0.41a

    CVS客户端安装
    Python 2.3.4
    WinCvs13b17

2.  CVS服务端和CVS客户端需要建立的若干工作目录
    CVS服务端:
    1.  F:/KHRoot   (存放自己源代码的根目录)
    2.  F:/KHTemp   (存放CVS出错信息的目录)

    CVS客户端:
    1.  E:/CVSClient/Admin  (管理员工作目录,还可以有多个工作目录)
    2.  E:/CVSTemp          (WinCVS临时目录)

3.  CVS服务端的设置
    1.  设置两个目录
    2.  复选框"Use local users for pserver ..."要选上

4.  CVS客户端的设置
    1.  设置CVSROOT(关键)
        :pserver:administrator@server:F:/KHRoot

        CVSRoot字符串由如下几项组成:
        Authentication:     验证方式,默认为pserver
        Path:               CVS服务器上仓库的路径.一个CVS服务器上可以有多个仓库.用仓库的路径来标识不同的仓库.
        Host address:       CVS服务器的IP地址或者域名
        User name           用户名,冒号后可以跟密码

    2.  设置WinCVS临时目录"HOME"
        E:/CVSTemp

    3.  设置管理员的工作目录
        E:/CVSClient/Admin

        可以有多个工作目录来存放功能不同的modules,使用工具栏上的"change location"按键,进行设定.
        Checkout的module作为工作目录的下一级子目录.

    4.  设置WinCVS外挂编辑器

5.  CVS中目录的权限:
    1.  系统支持的目录权限列表:
        r   读取权限
        w   写入权限
        c   创建和删除权限
        n   没有任何权限

    2.  默认情况下,任何用户都拥有任何目录的所有权限.
        所以管理员在为某个用户建立了新的工作目录之后,要立刻手工设置这个目录的权限.

6.  管理员的任务和相应操作:
    1.  修改默认模块(CVSRoot管理模块)的权限,只让administrator拥有rcw三种全部权限.
        1.  Checkout默认模块(CVSRoot管理模块)

        2.  对[CVSRoot]模块执行下列CVS命令:
            cvs chacl default:n             取消所有用户的默认权限
            cvs chacl administrator:rcw     设置administrator拥有所有权限
            cvs chown administrator         更改[CVSRoot]的拥有者
            cvs lsacl                       查看[CVSRoot]的权限状态

    2.  为普通用户建立工作目录
        1.  修改[CVSRoot]模块下的modules文件,一个用户一个模块

        2.  modules文件的编写方法
            [模块1的描述][参数][相对目录路径1]
            [模块2的描述][参数][相对目录路径2]
            ...
            [模块n的描述][参数][相对目录路径n]

            如:
            CVSRoot                 CVSRoot
            Jackey工作目录    -a    Jackey
            _DOCenter               _DOCenter

            WinCVS在Checkout时能自动列出这个文件中所列出的modules.
            如果不在这个文件中列出module,就只能手工在WinCVS中输入module的名称.

        3.  commit modules文件

        4.  上传工作目录
            在E:/CVSClient/Admin下建立每个用户的工作目录
            然后将这些工作目录Import
            最后将本地这些工作目录删除

        5.  为每个用户分别设置各自目录的访问权限,只有自己才能访问自己的工作目录
            1.  Checkout每个用户的工作目录到[Admin]目录下.

            2.  选中某个用户的工作目录之后,执行下列CVS命令:
                cvs chacl default:n         取消所有用户的默认权限
                cvs chacl 用户名:rcw        设置指定用户拥有所有权限
                cvs lsacl                   查看指定用户工作目录的权限状态

    3.  添加和删除用户:
        直接执行下列CVS命令:
        cvs passwd -a Killer            添加新用户[Killer]
        cvs passwd -r Jackey Killer     绑定[Killer]到NT用户[Jackey]
        cvs passwd -X Killer            删除用户[Killer]

7.  CVSNT系统中用户管理原则:
    1.  CVSNT的用户和CVSNT所在机器上的NT用户是相关联的.

    2.  只有administrator身份的用户,才有权在CVSNT中创建和删除用户.

    3.  创建新的CVS用户,必须与CVSNT所在机器上的NT用户绑定

    4.  一个NT用户可以和多个CVS用户绑定

8.  一般CVS用户在WinCVS中的操作:
    1.  登录CVS服务器
        菜单Admin->Login...

    2.  登出CVS服务器
        菜单Admin->Logout

    3.  Import module的操作
        1.  Import指定的目录成为一个CVS module:
            需要Import的module其实就是一个包含项目所有文件的目录,比如目录_DOCenter
            将工作目录设定到module的父目录,比如目录Yang2003
            然后在左侧的[Workspace]栏中右击需要Import的module名(目录名_DOCenter),选快捷菜单中的Import module...
            根据向导完成余下的工作.

        2.  Checkout刚才Import的module,设置权限:
            Import之后,可以把本地的目录_DOCenter删除
            然后在左侧的[Workspace]栏中右击工作目录Yang2003,选快捷菜单中的Checkout module...
            输入module名_DOCenter后按"确定"按键,就可以把刚Import的module _DOCenter Checkout到工作目录Yang2003下.
            选中左侧的[Workspace]栏中的_DOCenter,按快捷键[CTRL+L],顺序执行如下CVS命令,以设置权限:
            cvs chacl default:n
            cvs chacl yang:rcw
            cvs chown yang
            cvs lsacl

        3. Checkout一个module中指定目录的方法
            在左侧的[Workspace]栏中右击工作目录Yang2003,选快捷菜单中的Checkout module...
            输入module名J2ME_PRJ/CIAYhb,
            选中复选框Check out into directory,并在右侧的输入框中输入CIAYhb
            (如果选中下方的复选框Don't shorten module path,那么Checkout时创建的CIAYhb目录中仍然会有   J2ME_PRJ/CIAYhb的路径)
             最后后按"确定"按键,就可以在工作目录Yang2003下Checkout module J2ME_PRJ中的CIAYhb目录,而不是整个module J2ME_PRJ.

    4.  WinCVS的Update settings对话框中各复选框的含义
        1.  Checkout file to standard output
            检出文件到标准输出

        2.  Do not recurse into sub-folders
            不递归子目录,只update当前目录下的文件

        3.  Reset any sticky date/tag/'-k' options
            重置所有的粘贴性的日期/标示/-k选项
            删除分支/标签,取得最新的版本,用于从分支切换会主干

        4.  Create missing directories that exist in the repository
            创建在仓库丢失的目录

        5.  Get the clean copy
            获得干净的拷贝,本地文件修改错误时,可以把服务器上的文件取回覆盖本地文件(用于本地文件修改错误的情况).

    5.  在某个module中添加一个目录或文件
        菜单[Modify]中的[Add selection]用来添加目录和文本文件
        [Add binary]用来添加二进制文件

        添加文件之后还要做一次commit操作,整个添加操作才算完成.

        添加目录不需要commit操作

    6.  从CVS服务器取回某个程序的某个版本的操作
        在Update settings对话框的Update options选项卡中
        选中Retrieve rev./tag/brain复选框,并在后面的组合框中输入某个以前的版本号.

    7.  获得CVS服务器上的模块列表的两种方法:
        这两种方法都不依赖CVS服务器上CVSRoot目录下的modules文件,
        modules文件中没有登记的module也能列出.

        1.  菜单[Admin]->[Admin macros]->[Browse Repository Folders...]
            在对话框Browse Repository Folders中输入CVSROOT:
            :pserver:test@server:E:/CVSRoot

            (不需要输密码,不需要使用administrator用户)
            选中一个module目录后,按"Checkout..."按键,就能导出指定的module.

        2.  菜单[Admin]->[Admin macros]->[List Module Contents]
            在对话框Title中输入CVSROOT:
            :pserver:test:test@server:E:/CVSRoot

            (必须输入密码,不需要使用administrator用户)

    8.  固定版本
        commit文件到一个指定的版本
        在对话框Commit settings的Commit options选项卡中,
        选中"Force revision/branch"复选框,并在后面的组合框中输入一个版本号.

        对应的CVS命令:cvs commit -m 测试固定版本到1.5 -r 1.5 新增的文件.doc (in directory F:/Yang2003/_DOCenter/工具软件/)

    9.  跟踪谁在编辑文件
        如果一个module是以read-only的方式Checkout,那么在编辑某个文件之前,就必须告诉CVS服务器要编辑的文件.
        这么做的好处是,其它开发人员能跟踪到谁正在编辑相应的文件.

        开始编辑
        选中要编辑的文件
        点菜单[Trace]->[Edit Selection]
        指定的文件被WinCVS解除只读状态,并设为编辑状态.

        编辑完成
        commit指定的文件
        文件被WinCVS设为只读状态

        放弃编辑
        选中指定的文件
        点菜单[Trace]->[Unlock selection]

        查看正在对指定文件进行编辑的人
        选中指定的文件
        点菜单[Trace]->[Editors]

    10. 对一个或多个文件或目录标记标签(tag)
        标记的标签可作为修订版的参照
        一个特例:对整个模块标记标签是为了将来能够重新构造模块的当前状态.
        标记标签的时机:在工程发行或开始重大修改之前

        具体操作:
        1.  选择需要标记标签的目录或文件.
        2.  点菜单[Modify]->[Create a tag on selection...]
        3.  在New tag name输入框中输入标签名
            标签的命名规则:
            必须以字母开头,后面跟多个字母,数字,减号和下划线.不能跟点号或空格.
            两个保留标签名,"HEAD"指在库中最新可用的版本,"BASE"指最后Checkout到本地的修订版.

    11. 察看文件的tag和revision状态
        选择文件快捷菜单中的[Status selection]

    12. 删除文件或目录
        删除文件
        1.  选中一个文件
        2.  点菜单[Modify]->[Remove]
        3.  Commit这个文件,这个文件在本地被物理删除,在CVS服务器上被标记为"被删除"(而非物理删除)

            Checkout模块早期的修订版,仍可以恢复出删除的文件

        删除空目录
        1.  在左侧的[WorkSpace]框中,选择要删除的空目录的父目录.
        2.  选择右键快捷菜单中的"Update selection"
        3.  在对话框"Update settings"的"Globals"选项卡中选中复选框"Prune empty directories"
        4.  按确定键

    13. Branch(分支)
        1.  创建分支
            1.  选中目录或文件
            2.  菜单[Modify]->[Create a branch...]
            3.  在"New branch"组合框中输入分支名.(分支名的命名规则和标签名一致)
            4.  选中复选框"Check that the files are unmodified before tagging"/
            5.  按"确定"键

        2.  切换至分支(可以是多个分支中的任何一个)
            1.  选择目录或文件
            2.  菜单[Modify]->[Update selection...]
            3.  选中复选框"Create missing directories that exist in the repository"
            4.  切换到选项卡"Update options"
            5.  选中复选框"Retrieve rev./tag/branch",并在复选框右侧的组合框中输入分支名
            6.  点"确定"键

        3.  切换至主干
            1.  选择目录或文件
            2.  菜单[Modify]->[Update selection...]
            3.  选中复选框"Create missing directories that exist in the repository"
            4.  选中复选框"Reset any sticky date/tag/'-k' options"
            5.  点"确定"键

        4.  合并,把对分支文件的修改合并到主干的文件上,或反之.
            1.  切换至主干
            2.  选择目录或文件
            3.  菜单[Modify]->[Update selection...]
            4.  选中复选框"Create missing directories that exist in the repository"
            5.  切换到选项卡"Merge options"
            6.  选中复选框"Only this rev./tag",并在下方复选框中输入"分支名"
            7.  点"确定"键.


9.  CVS术语
    1.  Repository  仓库;CVS服务器的根目录.模块(Module)的集合.
    2.  Module      模块;CVS服务器根目录下的第一级子目录.通常用于存放一个项目的所有文件.
    3.  Checkout    检出;通常指将仓库中的一整个模块首次导出到本地.
    4.  Import      导入;通常指提交整个目录结构并创建一个新的模块.
    5.  Release     发行版本;整个产品的版本.
    6.  Revision    修订版;单个文件的版本.(版本号总是偶数个数字)
    7.  Tag         标签;在一个开发的特定期对一个文件集指定的符号名.用来标定特定信息.
    8.  Update      更新;从模块中下载其他人修改过的文件,更新本地的拷贝.
    9.  Commit      提交;将自己修改过的文件提交到模块中.
    10. Branch      分支;一条分离的开发线,用于隔离修改.(分支的版本号总是奇数个数字)

其他信息

下载WinCVS的地方

 

这个地方有些CVS的资料不错.可以下载WinCVS

CVS奠定了开放源码社区协同开发的基石!CVS在全世界有无数的用户,每个使用CVS的用户都为这个开放源码世界的杰作感到震惊!

WinCVS是CVS的一个客户端程序,它以CVS作为基础,在其上构造了功能强大的GUI,使得Windows平台上的CVS用户可以轻而易举的进行协同工作!

WinCVS中文版由SCMChina在英文版的基础上修改而成,除了对WinCVS的界面进行了比较彻底的中文化处理,另外还对主要的输出信息进行了中文化的处理,增强了版本比较的功能,集成了合并比较工具WinMerge,使得WinCVS能够直观地进行文件的比较。

CVS——
CVS 是指并发版本系统(Concurrent Versions System)。它是一个版本控制系统,在1986年,开源社区的许多仁人志士开始开发该系统。目前,CVS由Collat.net( www.collab.net)维护。CVS的主页是 www.cvshome.org,该主页提供CVS各种平台上的源代码、目标码和文档。    

WinCVS——
CVS的最大限制是其仅仅使用命令行接口,但是大多数开发员喜欢用GUI,所以世界上一些组织开发了CVS核心的图形前端界面,有些商业公司甚至开发了商业化的前端工具界面。WinCVS是Windows操作系统上最有用的一个CVS前端,它由全世界各地的、具有奉献精神的人们开发。WinCVS的网站是cvsgui.sourceforge.net 。WinCVS中文版的网站是www.8848software.com/wincvs 。
开始WinCVS之旅——
如果你打算使用CVS和WinCVS,你应该先看看有关的文档。在网站www.cvshome.org/docs上有许多很有用的CVS文档。Per Cederqvist et al所著的Version Management with CVS一书是CVS的“官方”文档,是CVS发烧友的必备之物。该文档有很多格式,例如html和ps格式。它的网址是 www.cvshome.org/docs/manual 。该文档通常也叫做Cederqvist手册。另外一个有用的文档是Sverre.H.Huseby所写的WinCVS-每日使用指南,它的网址是 www.computas.com/pub/wincvs-howto
WinCVS中文版——
  • 提供中文的WinCVS界面
  • 集成了合并比较工具WinMerge中文版
  • 集成了ssh工具PuTTY(包括putty,plink,pageant,puttygen,psftp等),提供中文的putty界面
  • 提供WinCVS原有的CVS帮助(HLP英文版)、WinCVS帮助(HLP英文版)、CVS客户服务器协议帮助(HLP英文版)
  • 提供WinCVS操作手册(PDF中文版)、WinCVS日常使用指南(PDF中文版)
讨论WinCVS中文版——
请访问网站www.8848software.com的SCM论坛——>CM工具——>CVS/Bugzilla...专栏。
下载WinCVS中文版——
如果您需要WinCVS中文版,请在此 下载!!!
如果您需要WinCVS所需的PYTHON,请访问 python.org (仅支持2.2.3以下的版本) !!!
如果您需要WinCVS所需的TCL,请访问 TCL开发站点(TCL Developer Site) !!!

WinCVS相关的超级链接——
1.8848software-scmchina (http://www.8848software.com/scmchina/scmtools.htm#cvs)
内容:介绍Concurrent Version System(CVS,并发版本系统)包括WinCVS的简明操作手册。
2.CVSGUI(http://cvsgui.sourceforge.net/)
内容:CVSGUi是CVS前端工具的老巢。她是“A set of GUI front-end for CVS written in C++ and distributed under GNU General Public License (GPL).”


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值