2008-12-13 31 views
5

我已經建立了使用TortoiseSVN的我家來管理我的寵物項目,學校項目等版本控制系統......它本地工作。遠程連接到我的Home版本控制庫?

現在我需要能夠像學校一樣遠程訪問我的代碼庫,以便我可以在存儲庫中更新學校的源代碼,並在完成工作後再次提交。

的問題是,我怎麼能連接到我的倉庫遠程?例如,我需要在我的路由器上打開哪些端口?

另外,我不能在學校安裝龜客戶端,所以我需要一些其他便攜式應用,做這個任務,無論是界面還是CLI

回答

8

有多種方法可以提供遠程訪問。在你的情況下,最簡單的事情可能是建立一個svnserve server。您可以使用--daemon手動啓動它,或者將其作爲Windows服務安裝。無論哪種情況,端口3690都必須打開。確保設置密碼,並將svnserve限制到存儲庫所在的目錄。

作爲一個便攜式應用程序,我推薦使用命令行svn client。適用於Windows的各種command line clients exist。您應該在機器上安裝其中一個,確保您瞭解如何使用它,然後將其與所需的所有DLL一起復制到U盤上。

+0

ADSL路由器上

  • 配置端口轉發
  • 設置DNS的家庭服務器你也可以考慮使用SVN支持一個IDE。日食+ Subclipse插件將是我的第一選擇那裏,因爲它可以用於大多數語言,是很容易去使用夾。這有點笨重,但會從USB棒上運行 - 在本地安裝&配置,然後將整個目錄複製到棒中。 – Ian 2008-12-13 09:09:48

  • 1

    我建議你去與誰提供託管SVN一些託管服務提供商,例如Dreamhost的。比自己配置和維護簡單得多。

    3

    我建議visual svn server才能完成設置快速啓動和運行。

    +0

    這是一款非常酷的產品。我也推薦它。 – 2008-12-16 13:04:56

    1

    您可以在記憶棒作爲圖形SVN客戶端使用RapidSVN。 下載是一個安裝程序,但安裝完成後,您可以將程序文件文件夾的內容複製到記憶棒中,然後從那裏運行它。

    2

    我想提醒你去在您的家庭網絡的防禦,如果這是第一個「外部服務」您所提供的。如果你是一個老手,在你的防火牆上打開一個洞是非常痛苦的,但是如果你之前沒有做過,你會謹慎對待。做你的閱讀。 :-)

    此外,還有免費的代碼項目管理網站(包括SourceForgeGoogle Code),它們提供了Subversion託管服務。有些服務甚至允許你提供一個svndump來保存你現有的存儲庫(我相信Google Code至少可以通過特殊請求來允許這一點,但我不知道這是否可能)。

    一個潛在缺點這兩個是他們的倉庫是公開可見的。如果您想要限制對您的存儲庫的讀取訪問權限,還有其他免費服務允許這樣做,但是恐怕我無法命名我的頭頂。

    +0

    Assembla.com爲學生提供免費的私人託管服務。 – nickf 2008-12-17 07:49:17

    2

    因爲人有回答您的問題特別 - 一種替代方案:一個分佈式版本控制系統。不同於混帳shell腳本,perl腳本/庫和C(或者C++),git可能是最流行的,但我會推薦嘗試darcs - 因爲它被編譯到一個可移植的單個二進制文件中?)二進制文件。

    「DVCS」的固有優勢在於,您可以在不連接中央服務器的情況下提交(並執行其他任何操作) - 當您在學校時,您可以提交,創建/合併分支機構等等。然後,當你在家時,你「推」到你的主要存儲庫。

    這意味着沒有必要通過你的路由器打開端口,你不必依賴於您的家用電腦/網絡連接總是往上衝。

    另一種替代解決方案是使用第三方SVN服務器(例如谷歌代碼或其他數百人之一 - 其中一些允許私人存儲庫,另一些則收費),並且您不必擔心端口轉發等問題。

    的問題是,我怎麼能連接到我的倉庫遠程?例如,我需要在我的路由器上打開哪些端口?

    您可以通過像Apache(guide)的Web服務器服務SVN - 那麼你就只需要轉發端口80,它一般是允許在所有網絡上。

    1

    我有svn服務器在家裏通過ADSL線路與動態IP。我的設置,使我的遠程訪問:

    • 設置顛覆服務器作爲Windows服務
    • 開放3690端口的服務器防火牆。
    • 開放3690端口的路由器防火牆。在www.dyndns.og
    • 設置SVN安全性(授權和認證)