砍掉所有 .svn 目錄(使用 find)

產品 Release 時, 真的很懶的話, 就是直接 svn checkout 後, 就讓他上線, 但是 .svn 的目錄怎麼辦~  就用下面這一行來砍一砍:

find PATH -type d -name '.svn' -exec rm -rf {} \;

PATH 再自行換成那個路徑即可. 🙂

感謝 jeffhung 指點, svn 有 export 的參數可以用, 使用 export 就不會有 .svn 的目錄:

svn export http://HOSTNAME/SVN_PATH (跟 checkout 參數類同)

感謝 ihower 提供的 Apache 阻擋設定 (於 Apache 設定下述即可)

<DirectoryMatch "^/.*/\.svn/">
ErrorDocument 403 /404.html
Order allow,deny
Deny from all
Satisfy All
</DirectoryMatch>

其它 Apache 設定擋法

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

  2. RewriteRule ^(.*/)?\\.svn/ - [F,L]

  3. RedirectMatch 404 /\\.svn(/|$)

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈砍掉所有 .svn 目錄(使用 find)〉中有 15 則留言

  1. 解法在 comments 都出現了
    RoR 的方式好像是用 svn checkout 然後像 ihower 說的方式用 apache 來避開 .svn 目錄
    我在 deploy 的時候也是用 svn export :p

  2. Windows 的這招真是太神了, 沒想到可以這樣玩~ Orz...
    我也不知道 LifeType 會濾掉 , 最近 LifeType 問題還不少, 在考慮要不要轉換了... Q.Q

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料