簡體   English   中英

我可以在辦公室服務器上創建一個托管的SVN存儲庫“並行”嗎?

[英]Can I create a hosted SVN repository 'parallel' to my own on my office server?

我們一直在辦公室里使用DIY SVN服務器大約一年了。 這是一個安裝在家庭服務器上的SVN的簡單設置。 我們使用陸龜SVN來訪問它我只是希望我幾年前就已經了解了一個版本控制系統..無論如何,當然在1Gbps局域網上辦公室訪問服務器是完美的,但外面它可用但很差,受限於50k字節/秒我們的ADSL線路上傳到網絡的速度。 我想這可能會在'無限'的某一天改善,但我們可能會等待。

我希望托管一個“並行”存儲庫,我知道我會付錢,訪問速度要快得多。 這也可以為我們提供額外的備份。 我的回購不到40G,所以100G限制就可以了。 有沒有辦法做到這一點,並使兩個鏡像,以便提交(至少小)幾乎立即可見? 我已經在使用Svnbackup命令在我們的服務器上制作一個並行鏡像,這樣可以兩種方式工作嗎?

任何建議或替代品贊賞。

TIA Brian

您想要一個只讀服務器,還是對多個服務器的讀寫訪問權限? 當您只需要只讀鏡像時,可以使用svnsync將辦公室服務器復制到鏡像服務器。

當你想從不同的地方提交時,看看像hg + hgsubversion或git-svn這樣的分布式工具,它們都可以用作svn的異步客戶端。

我認為你真正需要的是一個奴隸代理 - 這是一個用於只讀訪問的subversion服務器的副本,當你寫(對它)時,提交會直接傳遞給master。 當您閱讀不僅僅是寫作時,這提供了一種簡單但有效的方法來實現您想要的。

網上有很多教程 ,但它們都要求你使用http訪問(而不是svnserve)運行subversion。 奴隸通過優秀的svnsync和post-commit鈎子保持最新。

標准Linux SVN服務器具有允許您在事件上運行自己的腳本的掛鈎。 您可以使用post-commit鈎子(只需在“hooks”目錄中放置一個名為“post-commit”的腳本)。

現在,您可以只發出整個存儲庫的熱拷貝,這很容易設置( svnadmin hotcopy from to ),並使用ssh等將存儲庫復制到Internet上的其他主機。 你可以在兩台機器上做到這一點,你很好。

缺點:

  • 如果您的存儲庫很大,那么這需要很多時間
  • 注意有人可能同時將一個存儲庫和其他人提交到另一個存儲庫。 這可能會破壞一切。 您必須確保不會發生這種情況或找到鎖定存儲庫的方法(例如在復制過程中關閉svn)
  • 您需要對兩台計算機進行shell訪問

您可以通過將存儲庫保存到本地文件並僅將差異傳輸到另一台計算機來加快速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM