WinCVS与CVSNT使用手记[quoted]

原创 2005年04月26日 08:42:00
WinCVS与CVSNT使用手记
参考资料:
    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(sunwang:2.0.51d最稳定)

    CVS客户端安装
    Python 2.3.4(sunwang:2.3.5最稳定)
    WinCvs13b17(sunwang:13b17-2最稳定)

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      分支;一条分离的开发线,用于隔离修改.(分支的版本号总是奇数个数字)

相关文章推荐

AspxGridView使用手记

  • 2013年09月18日 08:28
  • 98KB
  • 下载

sqlmap使用手记

  • 2012年03月01日 16:13
  • 136KB
  • 下载

CVSNT与winCVS配置

1、 下载地址 CVSNT:http://www.cvsnt.org WINCVS:http://sourceforge.net/projects/cvsgui/  2、 服务器端(cvsnt)...

AspxGridView使用手记

  • 2013年01月21日 21:52
  • 1.13MB
  • 下载

CVSNT (2.5.03 build 2151) 服务器搭建+ Myeclipse CVS(wincvs)

1、下载安装cvsnt相应版本,一路next即可。 2、打开cvsnt control panel,配置repository,add一个本地的目录为repository,点击确定后会完成初始化,此时...

boost类库安装使用手记

  • 2015年01月05日 14:46
  • 72KB
  • 下载

用CVSNT与WINCVS实现CVS的架设

一、安装CVSNT   我们知道,CVS是使用“客户端/服务器”(Client/Server)模式来工作的,这也是 优秀版本控制系统的发展趋势。那么我们首先要有一台CVS服务器(当然这台电脑也可以...

NumPy使用手记

  • 2014年09月21日 14:08
  • 1.88MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WinCVS与CVSNT使用手记[quoted]
举报原因:
原因补充:

(最多只允许输入30个字)