C.2. 使用 CVS

C.2.1. 设置你的 CVS 账户

首先,你需要在 LDP 的 CVS 仓库获取一个账户。请查看上面关于获取账户的说明。这个仓库存放了各种文档,包括 HOWTO 和指南。文档按照文档类型(例如 HOWTO 或指南)以及文档使用的标记语言(例如 DocBook 或 LinuxDoc)进行分类。

当你的账户准备就绪后,你可以使用以下命令之一登录。在所有情况下你的用户名应该替换为你在回复邮件中收到的用户名。完成第一步后,系统会提示你输入密码。

初始化你的 CVS 账户

Linux 系统

cvs-d :pserver你的用户名@cvs.tldp.org:/cvsrootlogin

Windows 系统

setCVSROOT=":pserver你的用户名@cvs.tldp.org:/cvsroot"

cvs-d %CVSROOT%login

请耐心等待系统尝试登录。系统接受(或拒绝)你的密码通常需要 10-20 秒以上。一旦你首次使用 cvs login 并获得系统访问权限,你的密码将存储在.cvspass并且你将不必再次使用 cvs login。只需使用上面列出的 export 命令设置 CVSROOT 并继续操作。如果 TLDP 的 CVS 服务器是你唯一使用的服务器,你也可以将 export CVSROOT 行添加到你的~/.bashrcshell 配置文件中。

C.2.2. 获取文档

你可以使用以下命令获取整个仓库(约 150 MB):cvs checkout LDP

或者你可以使用以下命令获取你自己的文档的源代码:cvs checkout LDP/howto/docbook/YOUR-HOWTO.xmlcvs checkout LDP/guide/docbook/YOURGUIDE

Windows 用户需要使用此命令的修改版本。他们应该使用:cvs -d %CVSROOT% checkout LDP/howto/docbook/YOUR-HOWTO.xml

Note总览
 

checkout 命令将添加从 tldp.org 开始的完整目录结构。虽然将这些文件放在本地文件系统中的哪个位置并不重要,但你可能不希望将目录埋得太深。

C.2.3. CVS 命令

CVS 命令:简要提醒

commit

这个 CVS 命令会将你的更改上传到 CVS 服务器。

请务必包含对你的文档所做更改的有用描述。

如果你想绕过编辑器屏幕,你可以使用

cvscommit -m "对本文档此版本所做工作的描述。"

Note准备发布警告
 

你仍然必须发送邮件至当你准备好让你的更改出现在 live 网站上时。你的邮件应包含你希望更新的 LDP CVS 树中文件的相对路径。

add

你可以向你的 CVS 仓库添加新文件。这些文件可以是图像文件或额外的 XML 文件。首先检查你的 HOWTO 是否在它自己的目录中。你可能需要与以下人员协调以确保你可以向你的 HOWTO 添加图形或其他文件。

将你要添加的文件复制到你的本地 CVS 仓库(你所有下载/工作文件所在的位置)。然后

cvs add文件名

添加文件后,你仍然需要将它们 commit 到仓库(见上文)。

remove

$Id: cvs.xml,v 1.32 2011/01/14 16:24:52 serek Exp $

虽然这不是 CVS “命令”,但它可以用于自动插入有关文件的信息,包括上次修改的时间和日期、CVS 分配的版本号以及此特定文件的文件名。输出将如下所示$Id: cvs.xml,v 1.9 2002/04/21 09:44:26 serek Exp $

如果你需要更改文件名,你仍然需要使用 add 命令。首先从本地磁盘删除该文件的副本。然后使用以下命令从 CVS 树中删除它:cvs remove filename。与 add 命令一样,你需要 >commit 你删除的文件。最后,既然旧文件已被删除,请使用上面的说明添加你的新文件(首先 add,然后 commit 添加的文件)。

C.2.3.1. 恢复旧版本

当你正在埋头苦干时,你搞砸了。真的搞砸了。不管是什么,但足以说明你不仅破坏了本地驱动器上的版本,还在 CVS 服务器上创建了一个新版本。你需要做的是回到过去并恢复文件的旧版本。

要做到这一点,你需要知道你要检索的文件的版本号。cvs diff 将在存在差异时提供修订列表。你可以选择修订号,减一,这可能就是你想查看的修订版本。

命令

cvs -Q update -p -r修订版本 文件名

会将 的内容输出到 stdout修订版本版本文件名。你可以通过管道将其传递给 more 或将输出重定向到文件。方便的是,你可以将 stdout 重定向到一个名为 的文件文件名。你的本地文件现在是你想要的修订版本,并且

cvs update

将使用新的(旧的)版本更新 CVS 服务器上的文件名.