0

最近、Perforce リポジトリを TrueChange (McCabe TrueChange)に移行する必要があると言われました。その時点まで、TrueChange について聞いたことがありませんでした。これまで、cvs、subversion、vss、perforce を使用してきました。私は、その移行を行う際の知恵の言葉と、TrueChange に期待できることを見つけようとしています。私は Perforce を使用するのが大好きで、Perforce への移行は非常に簡単であることがわかりました。

あなたは私を助けることができます?VS2005、RAD、CruiseControl を使用しています。

4

1 に答える 1

2

私は1999年9月からTRUEchangeを使用していますが、PerforceからTRUEchangeに移行する必要があると言われたことは幸運だと思います。

私は多くのオープンソース、自家製、および商用のCMソフトウェアシステムを使用してきましたが、TRUEchangeはこれまでに使用した中で最高の製品です。

TRUEchangeを非常に優れたものにする4つのこと(4つ以上あります-これらは4つの重要なものです):

  1. ファイル差分ベースではなく、セットベースの変更。50個のファイルがグループとしてチェックアウトされ、変更されてから再度チェックインされる場合、それらの50個のファイルへの変更は、変更セットと呼ばれる単一の単位です。TRUEchangeは、これまでに使用したどのCMソフトウェアよりも、並行並列ベースラインをより適切に処理します。Csetは、番号の小さいベースラインに移行することも、番号の大きいベースラインに移行することもできます。移行/マージの競合はまれであり、ユーザーが非常に簡単に競合に対処できるようにする組み込みの3ウェイマージツールがクライアントにあります。変更セットは特定のバージョンから(任意の順序で)削除でき、再度追加できます。5つの異なる変更セットでファイルに5つの変更があった場合、変更1、3、4を残したまま2番目の変更を削除できます。と5無傷。また、完全なメタデータを保持して、あるディレクトリから別のディレクトリへのファイルの移動、ファイルの名前変更、またはディレクトリの名前変更をサポートします。ファイルは削除でき、ファイルを削除する変更セットがあります。ファイルを削除する変更セットは、ファイルのファイルID、ファイル名、および親ディレクトリを保持しているため、ファイルをシステムに再度ロードしなくても、いつでもファイルを復元できます。ファイルが復元されると、変更履歴が復元されます。

  2. ファイルバージョンベースではなくプロジェクトバージョンベース。バージョンがチェックポイントされると(タグ付けと同様)、プロジェクト全体のすべてのファイルの内容が1つの単位として記録されます。5000ファイルの個々のバージョン番号を追跡する代わりに、それらのファイルを含むプロジェクトのチェックポイントを追跡するだけで済みます。ファイルバージョンを追跡する必要がないため、QAまたは展開用に構築されたものの履歴を維持することは「非常に簡単」です。TRUEchangeは、ビルド構成を使用して、関連するプロジェクトと、ビルドプロセスのためにファイルが抽出されたファイルパスをグループ化します(Unix / Linux、Windows、またはVMSファイルシステム)。2.1.0などの3つのセグメントのバージョン番号を使用します。バージョンの最初のビルド(またはイテレーション)は2.1.0.1になります。2番目は2.1.0.2などになります。ビルドを実行して完了すると、ビルド構成の詳細を取得し、データを2つのデータベーステーブルに挿入します。1つのテーブルには、ビルド構成名、メジャーバージョン番号、マイナーバージョン番号、サブバージョン番号、イテレーション、説明的なタイトル、ビルドタイプ(QAまたは本番)、完了日時などのビルド構成レベルの情報が含まれます。もう1つのテーブルには、最初のテーブルのビルド構成レベルの行を指す外部キーが含まれ、プロジェクト名、メジャーバージョン番号、マイナーバージョン番号、サブバージョン番号、およびビルドの実行に使用されたチェックポイントからの反復が含まれます。ビルド構成レベルの情報とプロジェクトレベルの情報を使用して、データベースにクエリを実行し、ビルド実行の正確な内容をすぐに知ることができます。現在、2001年9月以降のビルドの履歴があります-ほぼ33、500ビルドと228,000を超える子レコード。ほんの1、2分で、過去8年間のビルド実行のソースディレクトリ構造を再作成でき、それが完全に正確で、元のビルド実行と同一であることがわかりました。ファイルバージョンベースのCMシステムでこれを行う必要がある場合、特定のビルドを再作成するにはかなり長い時間がかかります。

  3. コマンドラインコマンド、Windows GUI、Java GUIクライアント(StreamCM)、カスタマイズ性と信頼性。TRUEchangeには、高度な自動化を可能にする多数のコマンドラインコマンドがあります。シェルスクリプトとPHPを使用して、開発者がCMシステムと対話するための完全に自動化されたビルドサイクルとカスタマイズされたWebインターフェイスを開発することができました。開発ビルドは、TRUEchangeからファイルを取得する構成管理ユーザーとして実行され、Webページから実行されます。これにより、エンジニアがチェックインしたコードがCMで実行されたときにビルドされることが保証されます。StreamCMは、Unix(Solaris、AIX、HP-UX、Irixなど)、Linux(Red Hat、Fedora、Gentooなど)、Windows(XP、Vista)、MacOS(PPC、Intel)などのさまざまなプラットフォームで動作します。 )。この統合されたインターフェイスにより、開発者は複数のプラットフォームを使用し、OSに関係なくクライアントに同じように動作させることができます。TRUEchangeは、スクリプト言語を使用して高度にカスタマイズできます。TRUEchangeをカスタマイズして、PostgreSQLで実行されているCMデータベースと対話し、WebベースのアプリケーションがCMシステムにクエリを実行するのではなく、データベースからメタデータを読み取ることができるようにしました。また、TRUEchangeをカスタマイズして、Oracleデータベースへの接続を介してMercury InteractiveTestDirectorの問題追跡システムと対話します。信頼性が高いです。ほぼ10年間で、ディスクエラーが原因で、バックアップに戻る必要のあるリポジトリの障害が1回発生しました。また、TRUEchangeは各リポジトリに対して投稿されたトランザクションを維持するため、リポジトリを変更したトランザクションを、最初に適用された正確な順序で再生することができました。使用頻度の低いリポジトリでしたが、3日間ですべてのトランザクションを再生するのに10分しかかかりませんでした。200を超えるユーザーライセンスがあり、ユーザーベースをサポートするCMエンジニアが2人を超えることはありません。2008年に、他のCMエンジニアと私は6300を超えるQAビルドを実行し、本番展開用に1800を超える展開イメージを作成しました。私が今まで使用した他のCMシステムと比較して、TRUEchangeは、管理が大幅に少なくて済みます。もう1つの利点は、顧客のニーズに基づいて製品を強化するというMcCabeの意欲です。私たちは何年にもわたって多くの機能強化を求めてきましたが、それらはほぼすべての要求に応え、私たちの期待を上回りました。TRUEchangeのもう1つの優れた点は、分散環境で実行するように設計されていることです。ライセンスマネージャは、システムへのアクセスを制御し、リポジトリが実際に実行されているサーバーを追跡します。ライセンスサーバーと、97個のリポジトリを実行する4台のLinuxサーバーがあります。追加のリポジトリを収容するためにサーバーを追加する必要がある場合は、それらのサーバーを起動し、リポジトリを作成し(または既存のリポジトリを新しいサーバーに移動し)、開始スクリプトと停止スクリプトを再作成し(自動化されたプロセスを介して)、新しいサーバーでリポジトリを開始します。クライアントの介入は必要ありません。また、約5,200万行のソースコードとバイナリファイル(gifファイル、jpegファイルなど)を管理しています。開始スクリプトと停止スクリプトを(自動化されたプロセスを介して)再作成し、新しいサーバーでリポジトリーを開始します。クライアントの介入は必要ありません。また、約5,200万行のソースコードとバイナリファイル(gifファイル、jpegファイルなど)を管理しています。開始スクリプトと停止スクリプトを(自動化されたプロセスを介して)再作成し、新しいサーバーでリポジトリーを開始します。クライアントの介入は必要ありません。また、約5,200万行のソースコードとバイナリファイル(gifファイル、jpegファイルなど)を管理しています。

  4. CruiseControlプラグイン。McCabeは、ソフトウェアの最新リリースで、TRUEchange統合を可能にするCruiseControlプラグインを開発しました。私たちのソフトウェアは非常に複雑で多くの相互依存関係があるため、現時点ではCruiseControlを使用していません。これはTRUEchangeの欠点ではなく、CruiseControlの欠点です。他のシステムに大きく依存しないスタンドアロンシステムに最適なようです。

別のCM製品からTRUEchangeに簡単に移行するには、プロジェクト指向とファイル指向の概念を把握し、セキュリティ要件(誰がどのレベルでアクセスできるか)と論理プロジェクト組織を満たすようにリポジトリを設定するだけです。ソフトウェアシステム。リポジトリとプロジェクトが正しく設定されている場合は、古いCMシステムからファイルを取り出して、TRUEchangeプロジェクトに一括ロードするだけです。

于 2009-06-20T02:19:04.490 に答える