`

使用命令行 CVS 访问项目源文件

阅读更多

使用命令行 CVS 访问项目源文件

CVS 入门

如果您正在参与本站点的开发项目,必须使用 CVS 作为项目源文件的版本控制工具。本文是一系列工具文档(共三个)中的第一个文档,其中包含有关使用 CVS 的信息和命令。

访问项目的 CVS 存储库

      如果您对本站点上托管的项目具有 CVS 登录访问权限,必须首先设置 CVSroot 以访问项目的源代码存储库。在您的外壳程序或终端客户端,请键入::pserver:yourlogin@CVS.projectname.domain.com:/home/main_CVS_dir 替换您的登录信息和项目信息。如果您每次只参与一个项目,则只需在第一次登录到 CVS 时设置 CVSroot如果您参与的项目不止一个,并且需要访问位于不同服务器中的 CVS 存储库,则需要设置每个登录会话的 CVSroot,以访问正确的项目源代码存储库。关 于访问 CVS 存储库的更多信息

要登录到 CVS,请使用以下命令:

CVS login

当系统提示您时输入您的用户密码。此密码应与您在本站点中的用户帐号的密码相同。

获取源文件

      要获取最新源文件的“工作副本”,必须首先签出这些源文件,这可以将文件复制到您的系统中。首先键入以下命令,在本地计算机中创建一个目录:

mkdir my_working_dir(您所选的目录名称)
cd my_working_dir

 

      然后,将源文件从存储库签出或复制到新建的本地目录中,请键入:CVS checkout project_name 此顶级模块包含项目那个部分的整个源代码树(即,顶级目录和所有子目录)。最初,项目的 CVS 存储库有一个非常普通的模块结构。随着项目的发展,由于将子目录添加到不同的模块中,项目的源代码“树”也在增大。要获取“project_name”项目中名为“module-name”的特定模块的源代码,请指定:CVS checkout module_name/project_name 关 于签出项目文件的工作副本的更多信息

CVS annotate 命令

      注释命令显示有关提交的文件修订中每一行的信息。

      cvs annotate 命令在 CVS 工作目录中的一般用法是:cvs annotate [filename] 。其中“filename”是当前工作目录中一个或多个版本控制文件的名称。注释会生成一个表格输出,其中显示了有关文件中每一行的以下信息。

  1. 影响该行的上次修订
  2. 上次修改此行的作者和日期
  3. 文件中实际的文本行

查看文件修订历史记录

      任何具有 CVS 读取权限的人员都可以通过键入以下命令,查看各个文件历史记录以跟踪修订信息:

      CVS log filename

      其结果是从最新的修订开始显示文件的修订信息,并包括日志信息、状态、工作修订号和存储库修订号等这类信息。

比较文件修订

      对文件进行编辑后,最好检查所做的更改,比较一下原始文件和修订文件。可以查看本地副本或存储库自身中的文件。

比较本地副本中的文件修订

      可以使用 diff 命令比较本地副本中两次修订之间的文件修改详情。

      为此,请执行以下步骤:

  1. 使用“CVS log ”命令获取文件修订号。
  2. 按以下方式运行 diff 命令:
    CVS diff -r revision_# -r revision_#

    将显示整个文件内容,以及两个版本之间存在差异(由修订号标记)的行。

      有关使用 diff 命令的更多信息,请参见使用 CVS 进行开放源代码开发

比较存储库中的文件修订

      可以使用 rdiff 命令比较存储库中的文件之间的差异。这在您远离本地副本所在的计算机时很有用。

      为此,请执行以下步骤:

  1. 使用 CVS rlog 命令获取文件修订号。
  2. 按以下方式运行 rdiff 命令:
    cvs -d :pserver:<user>@<host>:/path/to/cvs/repository rdiff -r revision_# -r revision_#

    将显示整个文件内容,以及两个版本之间存在差异(由修订号标记)的行。

    注意: 要使用 rdiff 命令,必须提供存储库的 CVSROOT,而不是相对路径。这与 addcommit 等命令(这些命令仅需要相对路径)不同。

      有关使用 rdiff 命令的更多信息,请参见使用 CVS 进行开放源代码开发

观察 CVS 存储库中的文件

      您可以打开“watch”命令,告诉 CVS 您希望收到有关对某个文件所执行的操作的通知。要将当前用户添加到接收文件操作完成的通知的人员列表中,请输入:

      CVS watch add -a [action] -l [files]

      -a 选项指定 CVS 应该通知用户的事件类型。-a 选项可以出现多次,也可以不出现。如果省略,则操作默认为 all。操作可以是下列任一类型:

edit
其他用户对您所“观察”的文件使用了 CVS“edit”命令。例如,如果有两个或更多人员尝试同时提交某个文件,则可能存在冲突。这时 CVS 将使用“edit”操作提醒您其他用户正在编辑该文件。
unedit
您正在“观察”的文件应用了 CVS“unedit”命令或 CVS“release”命令。例如,假如您在编辑文件后决定取消更改,并将文件还原到执行“edit”命令之前的状态。这时,您可以应用 “unedit”或“release”命令,让观察者知道所编辑的文件已被删除或已还原为存储库版本。如果删除了文件,此命令允许 CVS update 在存储库中重新创建该文件。
commit
其他用户已提交对您正在“观察”的文件的更改。
all
上述所有操作。
none
上述操作一个也没有。

      文件和 -l 选项作为 CVS watch 命令处理。

      要删除使用 CVS watch add 建立的通知请求,请使用相同的参数:

      CVS watch remove -a [action] -l [files]

      如果存在 -a 选项,则只删除指定操作的观察。当存在符合发出通知的条件时,用户将会收到一封来自 CollabNet 平台服务器的电子邮件,通知对他们正在观察的文件所执行的操作。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics