2009-04-22 28 views
0

如何在我的Subversion上爲我的VirtualHost製作一個svn trunk作爲DocumentRoot,因此我可以根據trunk上的最新代碼測試我的應用程序。 (我的應用程序是用PHP編寫的)。使用Subversion trunk作爲DocumentRoot

謝謝!

+2

在以下帖子中找到答案:http://stackoverflow.com/questions/738068/having-latest-copy-of-svned-files-in-document-root – 2009-04-22 09:48:36

回答

1

我不確定你能做到這一點,因爲svn只存儲文件的更改,而不是整個文件(我認爲)。

但是,您可以設置提交後掛接腳本,因此當您提交腳本時,即執行腳本,即像stage.domain.com這樣的文件夾運行svn並獲取最新版本的代碼庫。

http://svnbook.red-bean.com/en/1.1/ch05s02.html

可能是你在找什麼。

亞當

0

編輯:我想我誤解你的問題。您不能將文檔根目錄指向SVN存儲庫,但可以將文檔根目錄指向您簽出SVN中繼的目錄。


這沒問題。你應該但是保護你的.svn目錄,以便他們不能通過網絡服務器訪問。

<DirectoryMatch "^/.*/(\.svn|CVS)/"> 
    Order deny,allow 
    Deny from all 
</DirectoryMatch> 

上面將在其服務器配置,其虛擬主機的配置中或在.htaccess爲Apache工作。您可以通過IIS7中的URL重寫模塊獲得相同的效果。其他網絡服務器肯定會提供一些可比較的功能。

0

看看SvnFs(它使用FUSE或衍生物,如macfuse)。

我從來沒有使用它,我不知道如果以這種方式訪問​​樹幹是一個好主意。例如:SvnFs是否實際上對可見的主幹進行了更改(或者在安裝時是否將主幹固定爲特定修訂版)?如果它確實顯示了更改,它會立即顯示,還是僅在文件實際被請求時顯示(我假設如果Web服務器檢查文件的時間戳是否已更改,那麼會觸發SvnFs返回最新的細節)?最重要的是,我認爲SvnFs會產生一個只讀文件系統(如果沒有,那麼我就不會使用它),那麼如果您的Web服務器想要創建一些文件呢?

(嗯,其實這裏還有Cascade爲導火索,它提供了讀寫訪問...)

相關問題