2010-01-25 81 views
4

我找到了this question,但它從未解決,也不想爲自己劫持它。我會盡量給予儘可能多的細節。如何在Web服務器上正確設置SVN?

我在Linux服務器上有一個共享主機帳戶,這是我的Web服務器,並且我有shell訪問權限。

我正在從使用TortoiseSVN的Windows計算機上工作。

我在我的public_html/託管服務器上有幾個網站,並希望能夠將我的Windows計算機上做出的任何更改傳播到服務器上,並以最小的麻煩。我基本上想通過FTP手動上傳。

我很樂意保留我所有的修改,但實際上並不需要真的看到它們,當然不是從Web界面看到它們。我想從網絡上看到的只是當前版本。

希望這是大多數細節排序,現在的實際問題。 什麼設置我的SVN在我public_html文件夾沒有工作,我所有的.svn目錄暴露給公衆的最好辦法?

+0

嗯,我不是Linux專家,但我認爲如果不是不可能的話,如果沒有訪問Web服務器和SVN的配置(即對服務器的根訪問),這將是非常困難的。有興趣看看是否有任何答案不同。 – 2010-01-25 12:55:00

回答

1

我會反對在生產中使用結帳工作副本。上傳到生產的最佳方式是導出。如果你想自動獲得一些東西,你可以看看Capistrano這樣的部署腳本。

如果您仍然想這樣做..你可以使用htacccess隱藏起來:

<FilesMatch "\.svn/.*"> 
    order deny,allow 
    deny from all 
</FilesMatch> 

<Files .htaccess> 
    order deny,allow 
    deny from all 
</Files> 
+0

如果您有登臺服務器=>導出。如果沒有,你會早晚在prod.site上快速修復,這樣=>工作副本。否認.SVN是必須的。 – Teson 2012-11-14 12:25:20

1

你可以配置Apache以禁止訪問.svn目錄,但你仍然需要你的遠程服務器訪問本地Subversion版本庫,所有的東西,需要進行配置安全:加密,認證,路由器,防火牆......

我認爲靈活性和簡單性之間的最佳平衡實際上是用FTP但這樣做它與文件同步工具。您可以將您的工作副本導出到臨時目錄並從那裏同步,或者將工具配置爲忽略.svn目錄。同步過程可能很慢但是自動化並不重要。

此外,不要忘記非版本文件。有些需要手動更新(如設置從版本化模板創建的文件),有些需要忽略(如緩存文件和用戶數據)。

至於這樣做的魔術工具......我仍然在尋找合適的工具。到目前爲止,我正在使用SyncBack freeware。它可以完成這項工作,但它是作爲備份工具設計的,所以配置起來很困難。

相關問題