`
yanwenhan
  • 浏览: 119455 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

checkout—检出用于编辑的源码

    博客分类:
  • CVS
阅读更多
  • 语法: checkout [options] modules...
  • 需要: 仓库。
  • 修改: 工作目录。
  • 同义词: co, get

创建或更新 modules 指定的工作目录,包含源码副本。使用大多数其他 cvs 命令之前,你必须执行 checkout,这是因为它们大部分操作的是工作目录。

modules 可以是源码目录和文件集合的符号名,或者目录路径,或仓库里面的文件。符号名在 `modules' 文件里面定义。参阅 modules. <!----><!----><!----><!----><!----><!---->

随你指定的模块,checkout 可以递归地创建目录,并将适当的文件放在里面。你可以在任意时间编辑这些文件(不论是否其他的开发人员也在编辑他们自己的副本); 更新它们以包括源码仓库中其他人员提交的修改; 或将你的修改永久地提交到源码仓库。

注意,checkout 用于创建目录。在 checkout 执行的目录,总会创建顶级目录,而且通常与指定的模块同名。在 module alias 情况下,创建的子目录也许有不同的名字,但可以肯定它是一个子目录,并且 checkout 会在解到你私人工作空间时,显示出每个文件的相对路径(除非你指定了 `-Q' 全局选项)。

checkout 建立的文件属性是可读写的,除非事先给 CVS 指定 `-r' 选项 (参阅 Global options),或 CVSREAD 环境变量 (参阅 Environment variables),或者该文件已被监视(参阅 Watches)。

注意,在一个已经由 checkout 建立的目录里面运行 checkout 目录是允许的。这类似给 update 指定 `-d' 选项,使得新目录可以在工作区内创建。但 checkout 使用的是模块名,而 update 使用目录名。还有, checkout 要在顶级目录使用这种方式(以前使用 checkout 的目录),所以,在用 checkout 更新已有目录前,别忘了将目录改到顶级目录。

关于 checkout 命令的输出,见 update output

 

checkout 选项

这些是 checkout 支持的标准选项(参阅 Common options,了解完整的信息):

-D date
使用不迟于 date 的最新修订版。该选项是粘性的,也就是 `-P'。参阅 Sticky tags,了解更多粘性标签/日期的信息。
-f
只与 `-D' 或 `-r' 标识一起使用。如果找不到匹配的修订版,将使用最新的修订版(而不是忽略文件)。
-k kflag
根据 kflag 处理关键字。参阅 Keyword substitution。此选项是粘性的; 以后在这个工作目录里面更新,还是使用相同的 kflagstatus 命令可以看到粘性的选项。参阅 Invoking CVS,了解 status 命令的信息。
-l
只在当前工作目录里面执行。
-n
不运行任何检出程序(如同在模块文件里面指定 `-o' 选项; 参阅 modules)。
-P
清除空目录。参阅 Moving directories
-p
管道方式输出到标准输出。
-R
递归方式检出。此选项是默认的。
-r tag[:date]
使用 tag 修订版,或者当 date 指定,并且 tag 是分支标签, tag 分支上的版本当作存在于 date 上。此选项是粘性的,含 `-P'。参阅 Sticky tags,了解更多粘性标签/日期的信息。以及 Common options

除了这些,你还可以在 checkout 里面使用特殊的命令选项:

-A
重置任何的粘性标签,日期,或 `-k' 选项。参阅 Sticky tags,了解更多粘性标签/日期的信息。
-c
复制模块文件,排序,输出到标准输出,而不是在工作目录里面创建和修改文件与目录。
-d dir
为工作文件创建名为 dir 的目录,而不是使用模块名。通常,使用此标识等同于使用 `mkdir dir; cd dir',然后是不带 `-d' 标识的检出命令。

然而,有一个重要的例外。习惯上,检出单独的项目只输出到一个目录而不会包含中间空的目录。在这种情况下,cvs 尽力“缩短”路径名,避免空目录。

例如,模块 `foo' 包含 `bar.c'.c' 文件, `cvs co -d dir foo' 命令将建立 `dir' 目录并将 `bar.c' 文件放在里面。同样,模块 `bar' 里面有 `baz' 子目录,其中有一个文件 `quux.c'.c', `cvs co -d dir bar/baz' 将创建 `dir' 目录,并将 `quux.c' 放在里面。

使用 `-N' 标识将破坏这种行为。使用上面相同的模块,`cvs co -N -d dir foo' 将建立 `dir/foo' 目录并放入 `bar.c' 文件,使用 `cvs co -N -d dir bar/baz' 将建立 `dir/bar/baz' 目录并将 `quux.c' 放在里面。

-j tag
用两个 `-j' 选项,合并第一个 `-j' 选项至第二个 `-j' 之间修订版间的修改到工作目录。

使用一个 `-j' 选项,合并祖先修订版至 `-j' 选项指定的修订版间的修改到工作目录。祖先修订版是所基于的工作目录和 `-j' 选项指定的修订版的共同祖先。

另外,每个 -j 选项可以包含可选的日期规格,当与分支使用时,可以限定在指定日期内选择修订版。可选的日期由标签中增加的 (:) 分号指定: `-jSymbolic_Tag:Date_Specifier'。

参阅 Branching and merging.

-N
只与 `-d dir' 一起使用。采用这个选项,cvs 在检出单独模块时,将不再“缩短”工作目录里面的模块路径。参阅 `-d' 标识中的例子和讨论。
-s
类似 `-c',但包含所有模块的状态,并按状态字符串排序。参阅 modules, 了解 `-s' 选项的信息,它用在模块文件里面设置模块状态。

 

checkout 示例

获得模块 `tc' 的副本:

     $ cvs checkout tc

获得一天以前 `tc' 模块的副本:

     $ cvs checkout -D yesterday tc
分享到:
评论

相关推荐

    git 学习_思维导图_git学习_源码

    学习Git还应掌握一些高级技巧,如重置(Reset)、检出(Checkout)和变基(Rebase)。`git reset`可以撤销提交,`git checkout`可以恢复文件或切换分支,而`git rebase`则能平滑地整合分支历史,使得版本线更加整洁...

    CVS note

    - **checkout**: 检出源码用于编辑。 - **commit**: 将文件提交到仓库。 - **diff**: 显示不同版本之间的差异。 - **edit**: 准备编辑被监控的文件。 - **editors**: 查看正在编辑被监控文件的用户。 - **...

    工程管理工具源码版本管理svn

    2. **检出(Checkout)**:从仓库获取项目的工作副本到本地。 3. **提交(Commit)**:选择需要提交的文件或目录,填写提交消息,然后提交更改到仓库。 4. **更新(Update)**:获取仓库的最新更改,保持本地副本与...

    CVS 使用指南,cvs的概况和使用的详细介绍

    - Checkout(检出):将资源库中的文件复制到本地作为工作副本。 - Commit(提交):将工作副本的更改保存回资源库。 - Merge(合并):将不同分支的更改合并到一起。 - Branch(分支):创建项目的一个独立版本,...

    配置管理之 SubVersion培训 PPT

    工作副本(WorkSpace)则是开发者本地的工作区域,从配置库检出源代码进行编辑和测试,然后将更新的版本提交回配置库。 SubVersion的工作模式主要采用复制-修改-合并方案,允许多个用户并行工作,各自在私有工作...

    数据库开发规范--版本管理

    2.2.1 checkout 源码:从SVN仓库中检出项目源码,通过“SVN” -&gt; “Checkout”,输入仓库URL和选择本地目录。 2.2.2 open 项目源码:在检出的源码目录中打开PLSQL Developer,工具会自动识别SVN项目。 2.2.3 打开...

    软件操作培训教程.pptx

    【检出(Checkout)与提交(Commit)】 - **检出**:创建本地工作副本,可以选择检出深度,如全递归、直接节点等。 - **提交**:将工作副本的修改提交到配置库,需填写提交信息,并进行权限控制,防止未经授权的...

    CVS配置方法.doc

    - 在“工作目录”中指定本地计算机上用于存储检出代码的目录位置。 - 最后点击“确定”按钮,等待ZendStudio完成代码检出过程。 #### 三、团队开发注意事项 在使用CVS进行团队开发时,需要注意以下几点: 1. **...

    subversion-1.9.5.zip

    Subversion提供了命令行工具`svn`,用于执行各种操作,如`checkout`(检出)、`commit`(提交)、`update`(更新)、`status`(查看状态)、`diff`(比较差异)、`merge`(合并)等。 **版本管理流程:** 1. 检出:...

    cvs

    使用cvs时,开发者首先需要在服务器端设置仓库,然后客户端通过cvs命令或WinCvs GUI连接到服务器,进行代码的检出、提交、更新和差异比较等操作。例如,`cvs checkout`用于获取项目的一个工作副本,`cvs commit`用于...

    site-1.6.5.

    描述中提到的"MyEclipse安装使用SVN资源文件",意味着我们将讨论如何在MyEclipse集成开发环境中集成SVN,以便开发者能够方便地进行版本控制操作,如检出(Checkout)、提交(Commit)、更新(Update)和解决冲突...

    SVN客户端命令简介

    1. Checkout(检出) Checkout是从服务器端的Repository获取项目源码的过程。首先,你需要在本地创建一个新的空目录,例如`F:\Project1`。然后,右键点击该目录,选择SVN Checkout...,输入服务器Repository的URL、...

    SVN相关手册

    3. **检出(Checkout)**:用户首次获取仓库中的文件时,会执行检出操作。这将创建一个本地工作副本,用户在此副本上进行编辑。 4. **提交(Commit)**:当用户对工作副本中的文件进行更改后,可以将这些更改提交到...

    Windows下Svn的安装使用

    1. **检出(Checkout)**:这是获取项目源码的第一步。你需要知道项目的Svn仓库URL,然后在目标文件夹上右键选择“ Checkout ”,输入仓库URL和你的用户名、密码,Svn会下载仓库中的所有文件和目录。 2. **提交...

    svn的使用

    - **检出(Checkout)**:从仓库获取最新版本的项目。 - **冲突(Conflict)**:当两个或更多用户同时修改同一部分代码时发生。 - **分支(Branch)**:用于开发新功能或实验性更改的独立代码线。 - **标签(Tag...

    《SVN软件简单教程》

    - **操作**: 在希望获取开发源码的文件夹中,右键选择 TortoiseSVN 的 Checkout 命令,指定版本库 URL 和要检出的目录。 - **注意事项**: 避免将版本库代码检出到之前用于导入的文件夹中,以免引起文件覆盖问题。 #...

    subversion 1.5.6

    3. 检出(Checkout):从版本库获取最新版工作副本。 4. 提交(Commit):将工作副本的变更保存到版本库。 5. 更新(Update):将版本库的最新变更同步到工作副本。 6. 合并(Merge):合并两个或多个分支的变更。 ...

    eclipse下cvs常用操作(视频讲解)

    创建好连接后,选择你想要工作的项目或文件夹,然后通过"Checkout"操作将远程CVS库中的代码检出到本地工作空间。这一步骤会将源码下载到本地,便于编辑和调试。 4. **提交更改** 当你对代码进行修改后,可以使用...

    svn配置

    开发者需要安装SVN客户端,如TortoiseSVN,然后配置SVN仓库的URL,以便于检出(Checkout)、提交(Commit)、更新(Update)和解决冲突(Merge)等操作。 8. **实际操作流程**: - 检出代码:使用客户端连接到...

Global site tag (gtag.js) - Google Analytics