我一直在閱讀svnsync來創建我們倉庫的只讀副本,但我並不真正瞭解倉庫的只讀副本是什麼。如果由於某種原因,主服務器出現故障,只讀副本會變成可讀/寫的,這樣人們可以承諾它?如果不是,那麼只讀副本有什麼意義?通過svnsync存儲庫的只讀副本有什麼意義?
回答
由svnsync維護的只讀存儲庫通常設置爲提供近似實時的主存儲庫備份。該副本被認爲是隻讀的,因爲通過除svnsync以外的方式對其進行更改會阻止svnsync正常工作。
在主存儲庫丟失的情況下,您的備份存儲庫可以成爲新的主存儲器。出於所有實際目的,副本與最後一次運行svnsync時的原始主副本相同。您可以通過從備份存儲庫複製文件並像以前一樣繼續重建原始存儲庫。
或者,具有基於原始主服務器的工作目錄的客戶端可以執行svn switch --relocate
操作來更新服務器URL以指向副本並繼續正常工作。當然,一旦客戶端開始使用備份進行提交,那麼它就不再是svnsync命令的目標,並且有效地成爲一個新的主存儲庫,您將需要創建一個新的備份。
我不知道你是否可以讓你同步讀取/寫入,但有很多情況下,當你想檢查一個存儲庫的內容,而不允許它連接到它。下面兩種情況非常相似,我們在這個地方做我的工作:
想象這是一個公開的開源項目,你可以允許退房的任何人,但只希望通過補丁程序或bug報告的貢獻(該副本也放在公共服務器上,主要服務器保存在受保護的專用網絡中)。
您可能希望通過自動構建系統(或某些分析工具)中的svn導出來使用svn的內容,但選擇不是全部同步,而只是在主svn處於穩定狀態時想象一些中間提交會使代碼處於代碼不編譯的不穩定狀態)。
假設你在談論自己的私人倉庫,兩個原因的任何一個讀/唯一副本 - 數據庫或源代碼庫或XYZ - 對減輕負荷,提高性能。
如果您正在存儲庫上運行任何類型的分析,比如說涉及每個修訂版的流程,那麼這可能會給主存儲庫帶來高負載,從而降低開發人員的性能。同步讀取/唯一拷貝是一種減輕負載的方法,使您可以完成工作而不會導致關鍵用戶降級。
類似的參數可以通過延遲進行 - 從本地只讀副本(實質上是一個緩存)更容易拉下來,而不是通過VPN或類似鏈接從另一個辦公室拉出。
備份你最喜歡的開源程序來源:)。
- 1. 測試假存儲庫有什麼意義?
- 2. SVN只讀存儲庫
- 3. 儲存庫佈局意味着什麼
- 4. 存儲數據庫的脫機副本
- 5. 有沒有人想過如何擴展Amazon RDS只讀副本?
- 6. fontconfig庫中的FcFini有什麼意義?
- 7. Mongoid首選只讀副本
- 8. 如何合併存儲庫副本
- 9. 爲什麼我的has_many通過關聯記錄(有時)只讀?
- 10. Mercurial:在遠程存儲庫創建遠程存儲庫的本地副本
- 11. 獲得mercurial存儲庫的提示副本的最佳方法是什麼?
- 12. envifying客戶端庫有什麼意義?
- 13. AWS:設置存儲桶級策略有什麼意義?
- 14. 在存儲過程中編寫動態查詢有什麼意義
- 15. 爲什麼我不能將所有單獨的存儲庫方法放入通用的基本存儲庫
- 16. OWL API存儲通過url打開的本體的本地副本
- 17. 通過RVM安裝與Ruby系統相同版本的Ruby有什麼意義?
- 18. 如何使用舊的svn存儲庫的副本填充存儲庫
- 19. NHibernate只有存儲過程
- 20. 如何使git存儲庫只讀?
- 21. @property(只讀,保留)是否有意義?
- 22. 只讀訪問存儲過程內容
- 23. 只讀訪問存儲過程
- 24. 通過對錶的副本
- 25. 靜態只讀字段在內存中只有一個副本嗎?
- 26. 使SQL Server數據庫只讀,除了一個存儲過程
- 27. Dockerizing遠程Git存儲庫有沒有意義?
- 28. 製作遠程git存儲庫的本地副本
- 29. 用新的本地副本替換Git存儲庫
- 30. 如何查看本地副本的存儲庫路徑?