.svn ディレクトリを使用しない svn チェックアウトと更新
-
20-08-2019 - |
質問
svn の下に Web サイトがあり、現在リポジトリにあるものをライブ Web サイトにパッチしたいと考えています (つまり、実稼働 Web サイトで svn update を効果的に呼び出します)、しかし実稼働 Web サイトのすべてのフォルダーに .svn ディレクトリを置きたくないのです。
バージョン情報を含む .svn フォルダーがバージョン管理下のファイルと同じディレクトリに存在しないように svn をセットアップする方法はありますか?
git では、この方法でワーク ツリーを作成および切り離し、プロジェクトに更新をプッシュできます (によると) http://toroid.org/ams/git-website-howto)、基本的にはsvnで同様のことができるようにしたいと考えています。
解決
svn export
と同様に機能します checkout
しかし、それがなければ .svn
ディレクトリ。ただし、できません update
これは SVN 作業コピーではないため、このような構造になります。
へのアクセスを禁止するように Web サーバーを設定することもできます。 .svn
ディレクトリに移動し、checkout+update メソッドを実行するだけです。
他のヒント
「.svn」ディレクトリをコピーしないように rsync を設定するにはどうすればよいでしょうか?
rsync --exclude=.svn local_svn_copy webserver:site/
これを再実行して、Web サーバーのコピーを更新できます。
httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
ラアルトさんが言ってたように svn export
これは、繰り返し使用すると「作業コピー」を更新するための簡単ではありますが、あまり効率的ではない方法になります。
milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>
を使用することもできます git-svn
Web サイトの git ミラーを作成し、リンクした記事で説明されている方法を公開します。ただし、これが直接的な解決策ではないことは明らかです。