- release [-d] directories...
- 需要: 工作目录。
- 修改: 工作目录,历史日志。
这个命令用来安全地撤消 `cvs checkout' 的影响。因为 cvs 不锁文件,所以没必要使用这个命令。如果你原意,可以只是删除工作目录; 但风险是你可能忘记里面还有改动的地方,并且丢弃了检出,在 cvs 历史文件里面没有跟踪记录 (参阅 history file)。
使用 `cvs release' 可避免这些问题。该命令检测当前没有未提交的更改; 在 cvs 工作目录上层执行; 仓库记录的文件与模块数据库定义的相同。
如果所以条件成立,`cvs release' 在 cvs 历史日志里面留下执行的记录 (证明你的确要放弃检出的文件)。
release 选项
release
命令支持一个命令选项:
-
如果成功,删除工作目录中文件的副本。如果没有给出此标识,你的文件仍然保留在工作目录里面。
警告:
release
命令递归地删除所有的目录和文件。有一个严重的副作用,在此目录里面创建的任何目录,它们没有添加到仓库(使用add
命令; 参阅 Adding files),也将被没有提示地删除–即使不是空目录!
-d
release 的输出
在 release
释放源码之前,它会为没有更新的文件打印一行信息。
-
仓库里面存有此文件的新修订版,本地副本没有修改(`
U' 和 `
P' 是相同意思)。
-
文件已经被添加,但没有提交到仓库。如果你删除,该文件将丢失。
-
文件已经被删除,但没有提交到仓库,所以也没有从仓库删除。参阅
commit.
-
文件已经在当前目录里面修改。这也许应该是仓库里面的一个新修订版。
- file 处于工作目录,但是仓库里面没有对应的文件,它们也不是 cvs 忽略的文件(参见 ` -I' 选项的说明,以及 参阅 cvsignore)。如果删除,该文件将丢失。
U
file
P
file
A
file
R
file
M
file
?
file
release 示例
释放 tc 目录,并且删除工作目录里面的文件副本。
$ cd .. # You must stand immediately above the # sources when you issue `cvs release'. $ cvs release -d tc You have [0] altered files in this repository. Are you sure you want to release (and delete) directory `tc': y $