OK、それで私はDotNetプロジェクトの開発を追跡するためにSVNリポジトリーを実装しています。次の構造に従ってリポジトリディレクトリを定義しました。
\project
\trunk
\branches
\systest
\production
\tags
\production_yyyymmdd
主な開発はプロジェクトのトランクにコミットされ、開発はクライアントからの変更要求(CR)に基づいて実行されます。今のところ、CRの重複(つまり、CRよりも多く変更されたファイル)の問題を除外できてうれしいです。私の問題は、単一のCRに関連するファイルの変更のみをトランクからsystestに、およびsystestから本番環境に移行するプロセスを管理する方法です。私が現在持っているプロモーションプロセスは次のとおりです(例としてsystestからprodへの移行を取り上げます)。
- 現在の本番ブランチに基づいてタグ「production_yyyymmdd」を作成します(これは、必要に応じて特定の「バージョン」を取得できるようにするために使用されます)
- 本番環境からローカルの「移行」場所(C:\ Build \ ProjectNameなど)への「更新」
- 選択した「マージ」が「systest」からローカルの「移行」の場所に変更されます
- 「コミット」が本番環境に戻る
私が抱えている問題はステップ3にあります。移行場所にマージするファイルをSVNに指示するにはどうすればよいですか。systestからprodへのすべての変更をマージしたくない(そして、systestからprodへの特定のリビジョンのすべての変更をマージしたくない場合もあります)。特定のファイルの変更のみをマージします。
編集:すべてのリポジトリアクセスがWindowsクライアントから行われていることも明確にする必要があります。SVNサーバーでコマンドを実行していません。(興味のために、SVNサーバーはLinux上で実行されていますが、それは私が信じている問題領域に違いはありません)
乾杯
リチャード