2009-06-27 125 views
17

我有SVN下一個網站,我想修補直播網站,目前有什麼在庫(即有效地調用直播網站上SVN更新),但我不希望生產網站上每個文件夾中的.svn目錄。SVN checkout和update沒有的.svn目錄

有沒有辦法設置svn,以便版本信息的.svn文件夾與版本控制下的文件不在同一個目錄下?

Git中,您可以創建和detatch工作樹和推送更新到項目這種方式(根據http://toroid.org/ams/git-website-howto),我基本上要能夠做到在SVN類似的東西。

+0

在現實中,我是一個git的跟蹤網站思維rsync的,所以謝謝你的提示。附: SVN只是一個循序漸進的步驟,現在只有歷史的興趣。再次感謝! – 2009-06-27 14:08:00

回答

37

svn export的工作方式與checkout類似,但沒有.svn目錄。但是,你不能update這樣的結構,因爲它不是一個svn工作副本。

您也可以將Web服務器配置爲不允許訪問.svn目錄,只需使用checkout + update方法即可。

+1

參見該怎麼辦了第二個選項這個問題的信息:http://stackoverflow.com/questions/214886/how-do-i-hide-directories-in-apache-specifically-source-control – 2009-06-27 13:17:52

7

rsync如何配置爲不復制「.svn」目錄?

rsync --exclude=.svn local_svn_copy webserver:site/

這可以重新運行刷新Web服務器的副本。

1

正如laalto提到svn export反覆使用時,使得用於更新「工作拷貝」一個簡單的,但不是很有效的方法:

[email protected]:~$ svn export --non-interactive --force "<URL>" <directory> 
1

你也可以使用git-svn創建網站的git的鏡子然後發佈您鏈接的文章中描述的方式。顯然這不是一個直接的解決方案。

2

的httpd.conf:

<Directory ~ "\.svn"> 
    Order allow,deny 
    Deny from all 
</Directory>