Filesystems

cvs 意外破壞了 rcs 文件

  • September 4, 2013

我有一個 cvs 伺服器,它的 binray 文件很大(大約 50Mb),它的 rcs 文件大約 2G

今天發現文件更新報錯:

cvs [update aborted]: unexpected EOF reading /repository/cvsroot/dir/file,v

我檢查了 cvs 伺服器,它顯示了一個完全破壞的 /repository/cvsroot/dir/file,v,大小約為 100K。

我從備份中恢復了文件,不幸的是我又遇到了同樣的問題。

在第二個文件替換之後它現在執行良好,但我無法得到這種行為的原因。

似乎不是硬體故障,因為同一磁碟上的所有其他文件都很好,並且 smartctl 沒有顯示任何錯誤或可疑警告。

有沒有辦法抓住這個問題的根源?

附言。cvs 在 red hat 5.5 上執行,cvs 版本是 1.12.6。

更新。實際上過了一會兒文件又壞了。所以 cvs 看起來不能用於這種行為。不幸的是,由於政治限制,我無法遷移到另一個像 git 這樣的 VCS(至少在今年年底之前)。

更新2。經過一些實驗我發現,大多數操作都成功通過了,但是 cvs rtag 破壞了文件。我什至將文件移動到另一個項目中並嘗試對其進行 rtag,然後我立即得到了損壞的文件。完整的 rtag 命令:

cvs rtag -B -a -F -r 1.447 -b "branch" project/file

檢查您使用的是正確的 32 位或 64 位版本。

引用自:https://serverfault.com/questions/532059