我有SVN下一個網站,我想修補直播網站,目前有什麼在庫(即有效地調用直播網站上SVN更新),但我不希望生產網站上每個文件夾中的.svn目錄。SVN checkout和update沒有的.svn目錄
有沒有辦法設置svn,以便版本信息的.svn文件夾與版本控制下的文件不在同一個目錄下?
Git中,您可以創建和detatch工作樹和推送更新到項目這種方式(根據http://toroid.org/ams/git-website-howto),我基本上要能夠做到在SVN類似的東西。
我有SVN下一個網站,我想修補直播網站,目前有什麼在庫(即有效地調用直播網站上SVN更新),但我不希望生產網站上每個文件夾中的.svn目錄。SVN checkout和update沒有的.svn目錄
有沒有辦法設置svn,以便版本信息的.svn文件夾與版本控制下的文件不在同一個目錄下?
Git中,您可以創建和detatch工作樹和推送更新到項目這種方式(根據http://toroid.org/ams/git-website-howto),我基本上要能夠做到在SVN類似的東西。
svn export
的工作方式與checkout
類似,但沒有.svn
目錄。但是,你不能update
這樣的結構,因爲它不是一個svn工作副本。
您也可以將Web服務器配置爲不允許訪問.svn
目錄,只需使用checkout + update方法即可。
參見該怎麼辦了第二個選項這個問題的信息:http://stackoverflow.com/questions/214886/how-do-i-hide-directories-in-apache-specifically-source-control – 2009-06-27 13:17:52
rsync如何配置爲不復制「.svn」目錄?
rsync --exclude=.svn local_svn_copy webserver:site/
這可以重新運行刷新Web服務器的副本。
正如laalto提到svn export
反覆使用時,使得用於更新「工作拷貝」一個簡單的,但不是很有效的方法:
[email protected]:~$ svn export --non-interactive --force "<URL>" <directory>
你也可以使用git-svn
創建網站的git的鏡子然後發佈您鏈接的文章中描述的方式。顯然這不是一個直接的解決方案。
的httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
在現實中,我是一個git的跟蹤網站思維rsync的,所以謝謝你的提示。附: SVN只是一個循序漸進的步驟,現在只有歷史的興趣。再次感謝! – 2009-06-27 14:08:00