アプリケーションのSVNからコードをフェッチするためにcruisecontrol.netを使用しています。変更されたセットに基づいてフェッチしたいのですが、以下がシナリオです。
1つのチームがビルド1に取り組んでいて、2番目のチームがビルド2に取り組んでいて、SVNでコードを定期的にコミットしている場合。
ビルド2ではなくビルド1のコードのみをフェッチしたいのですが、cruise controls .netを使用してコードを取得するにはどうすればよいですか?例をいただければ幸いです
SVNへの各コミットには、一意のリビジョン番号があります。たとえば、作業バージョンを特定のリビジョンに更新するには、次を使用します。
svn update -r REV
REV
ビルド1またはビルド2のリビジョン番号はどこにありますか。の詳細については、SVNBookを参照してくださいsvn update
。
または、チームがビルドを分岐している場合は、svnswitchを使用します。例えば:
svn switch URL
ここURL
で、はブランチへのURLです。ビルドに使用されたリビジョン番号がわからない場合は、svn logを使用して、変更の履歴と、ビルドが行われたときにどのリビジョンがHEADであったかを確認してください。
チェンジセットがソース管理の機能であるかどうか教えてください。
「チェンジセット」は、ソース管理システムごとに異なる意味を持つ場合があります。ソース管理システムが(1)変更を加えるファイルのセットを一意に識別するかどうか、および(2)変更がアトミックであるかどうかを尋ねていると思います。はい、SVNは両方を行います。各コミット(変更)は、リビジョン番号によって一意に識別されます。
クルーズコントロールとナントを使用してそれをどのように達成できますか?
NantContrib svn、svn-checkout、およびsvn -updateNantタスクを見てください。たとえば、myprojectのコードをc:\ srcに取得するには、c:\ srcがワーキングセットではない場合、次を使用します。
<svn-checkout
destination="c:\src"
svnroot="http://server/svn/repos/projects/myproject"
revision="HEAD"
username="user"
password="password"
/>
HEADを目的のリビジョン番号に置き換えます。