9.
版本回退(取出以前的某個版本)
有兩種方式:
一是只把某一版本的文件輸出到標(biāo)準(zhǔn)輸出上:
$cvs up –p –r <版本號> <filename>
“-p”選項讓CVS命令的結(jié)果只輸出到標(biāo)準(zhǔn)輸出,而不寫入到結(jié)果文件中。
另一種是將輸出到標(biāo)準(zhǔn)輸出的結(jié)果重定向到文件中:
$cvs up –p –r <版本號> <filename> > <filename>
如:目前abc.c文件的版本號為1.5,要取出1.2的版本,那么執(zhí)行
$cvs up –p –r 1.2 abc.c > abc.c
若沒有使用“-p”選項進(jìn)行回退,而是使用了$cvs up –r 1.2 abc.c命令,之后若對1.2版本進(jìn)行修改后再提交到CVS時,會出現(xiàn)如下提示信息:
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文件,將以下黃色標(biāo)記部分刪除即可。
$cd CVS
$ vi E*
/abc.c/1.2/Tue Dec 17 13:33:06 2002//T1.2
D
~
~
2、使用$cvs up –A abc.c命令來消除附著標(biāo)簽,但是該命令是將1.2版本與新版本進(jìn)行了合并,還需對abc.c進(jìn)行修改再重新提交。
10.
如何恢復(fù)已經(jīng)刪除的文件或目錄:
1. 在執(zhí)行了【Remove】命令之后恢復(fù)文件。 ◇ 【Ctrl+L】直接輸入命令cvs add xxxxx,或執(zhí)行【Add Selection】界面操作。 ◇ 這樣可以直接恢復(fù)還未提交的刪除文件。
2. 在執(zhí)行了【Commit】命令之后恢復(fù)文件。 ◇ 只能用【Ctrl+L】直接輸入命令cvs add xxxxx,這時會得到一個空的文件。 ◇ 選中這個空文件,執(zhí)行【Update】操作,得到這個文件的實體。 ◇ 再次選中這個文件,執(zhí)行【Commit】操作,得到這個文件新版本。
3. 由于CVS系統(tǒng)中本質(zhì)上不會刪除任何目錄,因此,談不上對目錄的恢復(fù),但是CVS系統(tǒng)默認(rèn)情況下是要在用戶本機上(如:YCW2000)要刪除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在Admin=>Preference的【Globals】頁面進(jìn)行設(shè)置。