4

私はこの質問を見つけましたが、解決されなかったので、自分でハイジャックしたくありません。できるだけ多くの詳細を説明しようと思います。

WebサーバーであるLinuxサーバーに共有ホスティングアカウントがあり、シェルアクセスがあります。

TortoiseSVNを使用してWindowsマシンで作業しています。

ホスティングサーバー上にいくつかのWebサイトがありpublic_html/、Windowsマシンで行われた変更を最小限の手間でサーバーに伝播できるようにしたいと考えています。基本的に、FTP経由で手動でアップロードするのはやめたいです。

すべてのリビジョンを保持できれば幸いですが、実際にそれらを実際に表示する必要はありません。確かにWebインターフェイスからではありません。Webから見たいのは、現在のリビジョンだけです。

うまくいけば、それが実際の質問のためにソートされた詳細のほとんどです。すべてのディレクトリを公開せずに、SVNを public_html フォルダ内で機能するように設定する最良の方法は何 .svn ですか?

4

2 に答える 2

1

プロダクションでチェックアウト作業コピーを使用しないようにアドバイスします。本番環境にアップロードする最良の方法はエクスポートです。自動的に何かが必要な場合は、Capistranoのような展開スクリプトを調べることができます。

それでもやりたい場合は..htacccessを使用してそれらを非表示にすることができます:

<FilesMatch "\.svn/.*">
   order deny,allow
   deny from all
</FilesMatch>

<Files .htaccess>
   order deny,allow
   deny from all
</Files>
于 2010-01-25T13:04:19.933 に答える
1

ディレクトリへのアクセスを禁止するようにApacheを設定できますが、暗号化、認証、ルーター、ファイアウォールなど、設定.svn保護が必要なすべてのものを使用して、リモートサーバーがローカルのSubversionリポジトリにアクセスできる必要があります。

柔軟性と単純さの間の最良の妥協点は、実際にはFTPを使用することですが、ファイル同期ツールを使用してそれを行うことだと思います。作業コピーを一時ディレクトリにエクスポートしてそこから同期するか、.svnディレクトリを無視するようにツールを構成することができます。同期プロセスは遅くなる可能性がありますが、自動化されていても問題はありません。

また、バージョン管理されていないファイルについても忘れないでください。一部は手動で更新する必要があり(バージョン管理されたテンプレートから作成された設定ファイルなど)、一部は無視する必要があります(キャッシュファイルやユーザーデータなど)。

これをすべて行うための魔法の道具については...私はまだ正しいものを探しています。これまでのところ、私はSyncBackフリーウェアを使用しています。それは仕事をしますが、それはバックアップツールとして設計されているので、設定するのは難しいかもしれません。

于 2010-01-25T16:46:36.677 に答える