5

Clearcase の使用にかなり固執しているクライアントがいます。私のチームが SVN リポジトリ (または実際には Clearcase 以外のもの)に対して作業できるようにするツールやスクリプトはありますか?

私の考えでは、そのようなツールが存在し、それが自動化され、信頼性が高く、透過的である場合、クライアントは SVN に対抗することを許可するよう説得される可能性があります。

ありがとう、ケント

4

7 に答える 7

3

ClearCase ビュー内でGitを直接使用しています。
次にgit2svn、同期する SVN リポジトリがあれば、コンテンツを SVN に戻すことができます。

注: ツールを ClearCase ビュー内で直接動作させるには、ファイルがまだチェックアウトされていない場合でもファイルに書き込むために、スナップショット ビューを使用する必要があります。次に、終了したと思われるアクティビティについて、スナップショット ビューを更新します。これにより、すべての「乗っ取られた」ファイルを一覧表示できます。それらをチェックアウトしてから、チェックインします。


この場合 (クライアントの ClearCase リポジトリ) で SVN を操作する際に発生する問題は次のとおりです。

  • 別の中央リポジトリを導入しました (つまり、コミットするには、プライベートな中央 SVN リポジトリにアクセスする必要があり、「クライアントへのコミット」の場合は、中央の ClearCase VOB - バージョン オブジェクト ベース、「リポジトリ」にアクセスする必要があります。 ClearCase 用語で)。
  • は別のブランチ モデリングを導入しました。SVN ではディレクトリ内の安価なコピーですが、ClearCase ではディレクトリとして表されないメタデータ (ブランチ) です。これは、SVN チェックアウトの物理ツリーが ClearCase のスナップショット ビューの更新と一致しない可能性があることを意味します。これは、SVN によってチェックアウトされたディレクトリの一部が ClearCase に存在しないためです。

少なくとも、Git を使用すると、次のことが可能になります。

  • プライベート リポジトリ (全員がアクセスできる別の中央リポジトリを追加するわけではありません)
  • 同じ分岐モデル(少なくとも「ディレクトリで分岐を表さない」場合)
于 2009-08-06T16:29:44.630 に答える
2

私が担当していたプロジェクトでは、まさにこれが必要でした。チームは svn の方が快適で、社内標準は ClearCase でした。そこで、trunk を clearcase に継続的に移行するためのスクリプトを作成し、ビルド サーバーで実行しました。

ここにスクリプトを置きました: http://dvae.net/blog/2009/09/clearcase-to-svn/

私たちが行ったことは、定期的に実行され、clearfsimport を使用して移行を行うビルド サーバーでジョブをセットアップすることでした。Luntbuild をビルド サーバーとして使用しましたが、クルーズ コントロールも問題なく動作します。通常のビルドと同様に、svn の変更が検出された場合にのみスクリプトが実行されるように設定します。ClearCase サーバーが別の国にあり、すべての操作が遅く、同期の実行に 40 分かかったため、20 分ごとにジョブを実行しました。できるだけ頻繁に実行することをお勧めします。

スクリプトは ClearCase UCM に基づいています。そうでない場合は、'cleartool mkact' を削除し、最後にベースラインの代わりにラベルを作成する必要があります。

clearcase コメントを、最後の同期以降のすべての SVN コミットの連結になるように設定しました。

信頼できると思いましたが、失敗する唯一の理由は、Clearcase トリガー (「悪魔の双子」トリガーなど) がチェックインを停止した場合でした。それが発生すると、ビルドが失敗し、Lunbuild がメールを送信します。その後、悪の双子の問題を取り除くために手動でリバース ヒストリ マージを実行し、コミットして再実行する必要があります。

于 2009-10-24T19:56:37.097 に答える
1

この目的のための Clearvision の商用ツールもあり、こちらから入手できます。

http://www.clearvision-cm.com/clearcase-subversion-git-mercurial-integration.html

clearcase を subversion、git、または Mercurial と同期できます。

于 2012-04-13T10:50:16.617 に答える
1

参考までに:何らかの形で役立つかもしれません:SVNからClearCaseへの移行

これはデータを同期しませんが、移行する必要がある場合は役立つかもしれません.

于 2009-08-12T12:39:58.910 に答える
1

はい。CollabNet は、CollabNet Subversion Connector と呼ばれる、その目的専用の商用製品を提供しています。

于 2009-09-07T04:49:47.643 に答える
1

clearcase にコマンド ライン サポートがある場合、clearcase にチェックインするスクリプトを記述し、コードがコミットされたときに自動的に実行されるように svn を構成できます ( post-commit hook ) 。

于 2009-08-26T11:18:39.613 に答える
0

その記事では、そのためのいくつかの方法について説明しています。

http://www-01.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21258843 .

基本的にバリアント:

1) バージョン履歴を維持することに関心がなく、単に最新バージョンまたは事前に選択された構成から開始したい場合は、clearfsimportコマンドを使用できます。詳細については、clearfsimport (cleartool man clearfsimport) のトピックに関する ClearCase コマンド リファレンス ガイドを参照してください。

2) バージョン履歴が必要な場合は、オープン ソース ツールsvn2ccを評価することをお勧めします。

回避策:

  1. 開発ストリームの特定のマイルストーンを表すビューを Subversion で作成することができます。そこから、前述のコマンド clearfsimport を使用して、各ビューからバージョンを順番にインポートできます。このシナリオの clearfsimport コマンドは、実行されるたびに要素の新しいバージョンを作成し、インポートされたバージョンに自動的にラベルを適用します。

  2. Subversion リポジトリは CVS (Concurrent Versions System) のリポジトリと非常に似ているため、clearexport_cvs を使用してみることができます。このエクスポート ユーティリティの詳細については、IBM Rational ClearCase コマンド リファレンスを参照してください。

于 2009-08-29T07:19:57.043 に答える