9.
版本回退(取出以前的某个版本)
有两种方式:
一是只把某一版本的文件输出到标准输出上:
$cvs up –p –r <版本号> <filename>
“-p”选项让CVS命令的结果只输出到标准输出,而不写入到结果文件中。
另一种是将输出到标准输出的结果重定向到文件中:
$cvs up –p –r <版本号> <filename> > <filename>
如:目前abc.c文件的版本号为1.5,要取出1.2的版本,那么执行
$cvs up –p –r 1.2 abc.c > abc.c
若没有使用“-p”选项进行回退,而是使用了$cvs up –r 1.2 abc.c命令,之后若对1.2版本进行修改后再提交到CVS时,会出现如下提示信息:
cvs ci
cvs commit: Examining .
cvs commit: sticky tag `1.2' for file `abc.c' is not a branch
cvs [commit aborted]: correct above errors first!
解决办法两种方式:
1
、修改CVS/Entries文件,将以下黄色标记部分删除即可。
$cd CVS
$ vi E*
/abc.c/1.2/Tue Dec 17 13:33:06 2002//T1.2
D
~
~
2、使用$cvs up –A abc.c命令来消除附着标签,但是该命令是将1.2版本与新版本进行了合并,还需对abc.c进行修改再重新提交。
10.
如何恢复已经删除的文件或目录:
1. 在执行了【Remove】命令之后恢复文件。 ◇ 【Ctrl+L】直接输入命令cvs add xxxxx,或执行【Add Selection】界面操作。 ◇ 这样可以直接恢复还未提交的删除文件。
2. 在执行了【Commit】命令之后恢复文件。 ◇ 只能用【Ctrl+L】直接输入命令cvs add xxxxx,这时会得到一个空的文件。 ◇ 选中这个空文件,执行【Update】操作,得到这个文件的实体。 ◇ 再次选中这个文件,执行【Commit】操作,得到这个文件新版本。
3. 由于CVS系统中本质上不会删除任何目录,因此,谈不上对目录的恢复,但是CVS系统默认情况下是要在用户本机上(如:YCW2000)要删除空目录,因此,可以用如下方法得到已被删除的空目录:cvs checkout -p xxx,也可以在Admin=>Preference的【Globals】页面进行设置。