2

アプリケーションのSVNからコードをフェッチするためにcruisecontrol.netを使用しています。変更されたセットに基づいてフェッチしたいのですが、以下がシナリオです。

1つのチームがビルド1に取り組んでいて、2番目のチームがビルド2に取り組んでいて、SVNでコードを定期的にコミットしている場合。

ビルド2ではなくビルド1のコードのみをフェッチしたいのですが、cruise controls .netを使用してコードを取得するにはどうすればよいですか?例をいただければ幸いです

4

1 に答える 1

2

SVNへの各コミットには、一意のリビジョン番号があります。たとえば、作業バージョンを特定のリビジョンに更新するには、次を使用します。

svn update -r REV

REVビルド1またはビルド2のリビジョン番号はどこにありますか。の詳細については、SVNBookを参照してくださいsvn update

または、チームがビルドを分岐している場合は、svnswitchを使用します。例えば:

svn switch URL

ここURLで、はブランチへのURLです。ビルドに使用されたリビジョン番号がわからない場合は、svn logを使用して、変更の履歴と、ビルドが行われたときにどのリビジョンがHEADであったかを確認してください。

チェンジセットがソース管理の機能であるかどうか教えてください。

「チェンジセット」は、ソース管理システムごとに異なる意味を持つ場合があります。ソース管理システムが(1)変更を加えるファイルのセットを一意に識別するかどうか、および(2)変更がアトミックであるかどうかを尋ねていると思います。はい、SVNは両方を行います。各コミット(変更)は、リビジョン番号によって一意に識別されます。

クルーズコントロールとナントを使用してそれをどのように達成できますか?

NantContrib svnsvn-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を目的のリビジョン番号に置き換えます。

于 2012-09-17T11:19:51.930 に答える