2014-01-21 13 views
1

我試圖將最近的樹幹更改合併到分支。從分支機構的工作目錄,我在執行合併更新命令(主幹版本之間差異合併到分支):CVS合併兩個修訂版本之間從樹幹到分支的差異導致文件刪除而不是合併

cvs update -j 1.207 -j 1.208 file.cpp 

但不是合併CVS只是刪除了更新的文件:

cvs update: scheduling `file.cpp' for removal 

我敢肯定該文件未被刪除或移動到另一個目錄。 本地文件修訂爲1.203.8.1

爲什麼它不合並,我該怎麼做另一種方式?

回答

1

問題是我忘記了CVS服務器複製。我們有幾個當地的辦公室資料庫從中央辦公室複製而來。我檢查了中央CVS服務器上的中繼,但是執行了本地更新。尚未複製更改,並且本地存儲庫中尚未存在請求的文件修訂。經過一段時間後,複製完成並且合併命令成功完成。

但是,真正讓我發瘋的是,CVS不會返回關於不存在的修訂版的錯誤,而只是將它看作是從存儲庫中刪除了文件!

幸運CVS返回錯誤爲不存在的標籤,因此,以確保您的入住呈現在庫中,您可以使用一個命令(WinCVS中,Windows平臺):

cvs update -p -rYourCheckinTag file.cpp>nul 

在故障CVS的情況下將返回描述性錯誤消息:

cvs [update aborted]: no such tag `YourCheckinTag' 

在成功CVS將返回文件儲存庫路徑的情況下,要求修訂號:

=================================================================== 
Checking out file.cpp 
RCS: /projects/file.cpp,v 
VERS: 1.208 
*************** 
相關問題