Contributed by Jordan K. Hubbard
<jkh@FreeBSD.ORG>.
有很多方法可以透過網路 (或是 email) 來讓 FreeBSD 的 source 保持最新版 本,無論是一部份或是整個 source,全看您對那些部份有興趣。我們主要提供 Anonymous CVS, CVSup, 以及 CTM。
Anonymous CVS 和 CVSup 是採用 拉 的方式來更
新 source。以 CVSup 來說,當使用者 (或是 cron) 執行
cvsup,它會和遠端的 cvsupd 程式取得連繫,然後就會更新
您的檔案。您取回的更新檔是最新的,而且只有當您想要的時候,您才會拿到這
些檔案。您可以很輕易地限制您的更新動作只更新您感興趣的某個檔案或是某個
目錄。更新的動作是由伺服端根據您有什麼以及您要什麼來即時完成的。
Anonymous CVS 比起 CVSup 來說是簡單很多了,它只是一個
cvs(1) 的擴充版,允許您可以直接從遠端的 CVS repository 中取得
改變的部份。CVSup 也可以做到這一點,而且更有效率,但是
anoncvs 使用上則容易得多。
在另一方面,CTM 並不是以交談式介面來比對您所擁有的 sources 和 伺服器上的 sources 或是您 取得 的更新部份。相反的,會有一個 script 檔專門用來辨識變更過的檔案,這個程式是由 CTM 伺服器來執行,每天會 比對數次,並把兩次執行期間內變更過的檔案加以壓縮,給它們一個序號,然後就 加以編碼 (以可列印的 ASCII 字元為主) 並以 email 的方式寄出。當您收到它的 時候,這些 "CTM deltas" 就可以由 ctm_rmail(1) 這個程式來處理,它可以自動 解碼,確認並在使用者的 sources 上使用這些變更。這個程序比 CVSup 或是 Anonymous CVS 來說是快得多了,而且這個動作對我們的伺服器來說是比較輕鬆的, 因為這是一個 push 的動作而不是 pull 的動作。
當然這還有很多方法可以使用。如果您不小心把您部份的程式清除掉了,CVSup 會 偵測出來,並自動為您把不足的部份補齊。CTM 並不會為您做這些動作,而 anoncvs 則會覺得十分困惑。如果您清掉了您的部份 source (而且您沒有備份), 您可以從頭開始 (從最新的 CVS "base delta") 並用 CTM 來重建它們,或是 用 anoncvs 來完成,只要把不正確的地方刪掉再重新做同步的動作即可。
想要得到更多有關 Anonymous CVS,CTM 以及 CVSup 的資訊的話,請參閱下列各 節:
CTM?CTM?CTMCTMCTM 的未來