3

私たちのプロジェクトは、SourceSafe データベースで開催されます。専用のビルド マシンで毎晩実行される自動ビルドがあります。ビルド プロセスの一環として、SourceSafe からインストール用のソースと関連データを取得します。これにはかなりの時間がかかる可能性があり、ビルド プロセスの大部分を占めます (それ以外の場合は、インストール ファイルの作成が大半を占めます)。

現在、コマンド ライン ツール を使用ss.exeして SourceSafe とやり取りしています。使用するコマンドは、プロジェクト ソースとデータの再帰的な取得、バージョン ファイルのチェックアウト、更新されたバージョン ファイルのチェックイン、およびラベル付けです。ただし、SourceSafe がオブジェクト モデルもサポートしていることは知っています。

  • このオブジェクト モデルを使用した経験のある人はいますか?
  • 私たちのプロセスで役立つ可能性のあるコマンド ライン ツールを使用するよりも、何か利点がありますか?
  • デメリットはありますか?
  • コマンド ラインでオブジェクト モデルを使用すると、パフォーマンスが向上しますか?
4

6 に答える 6

2

コマンド ラインは、オブジェクト モデルで見られるのと同じコードで内部的に実装されていると想像する必要があります。そのため、大量の起動が必要でない限り、大きな違いはありません。

オブジェクト モデルを使用するために書き直すコストは、そのままにしておくだけで節約できるコストよりもおそらく高くなります。かかる時間に明確な問題がない限り、これがあなたにとって多くの解決策になるとは思えません.

シャドウ ディレクトリを調査して、常に最新バージョンを利用できるようにすることで、毎回「getlatest」を実行する必要がなくなり、ローカル VSS と通信していることを確認できます (すべてのコマンドは、そのため、WAN 操作には非常にコストがかかります)。

それ以外の場合は、別の SCM を使用したくない場合を除き、行き詰まります (SVN をお勧めします - コードプレックスには優れたコンバーターがあり、VSS ans SVN オブジェクト モデルの使用方法を示すコード例があります)。

于 2008-12-18T15:27:55.507 に答える
1

実体があると思われる質問の唯一の部分への答えとして-オブジェクトモデルへの切り替えは、VSSとデータベース間でファイルを共有するために使用されるプロトコルに起因するため、オブジェクトモデルへの切り替えはそれほど速くはありません-私の参照他の答え。

私が言及した製品は、あなたが抱えている問題に対処するために VSS と連携して動作します。あなたはまだVSSとahevを使用して、それを使用するためのライセンスを取得しています...必要な場所で高速化するだけです.

なぜあなたが私をマークしたかわからない?!

于 2008-12-18T16:29:22.107 に答える
1

その後、ソース管理を Team Foundation Server にアップグレードしました。VSS を使用していたとき、CruiseControl.Net のビルド ログで同じことに気付きました (注意: CC が何を使用しているかを調査したことはありません。コマンド ラインを想定しています)。

私の経験に基づくと、問題は VSS にあると言えます。当社の TFS は 1000 マイル以上離れた場所にあり、サーバーが約 6 フィートのイーサネット ケーブルで分離されていたときよりも高速です。

編集:私のビジネス帽子をかぶるために、ビルドの待機に費やされた時間とビルドの高速化に費やされた時間を合計すると、アップグレードまたは別の投稿で言及されている VSS アドオンを保証するのに十分な場合があります (既に +1 されています)それ)。VSS でのソリューションの構築に多くの時間を費やすつもりはありません。

于 2008-12-18T15:13:25.647 に答える
1

VSS は、マウントされたファイル システムを使用してデータベースを共有します。SourceSafe からファイルを取得すると、ファイル システム レベルで動作します。つまり、ファイルを送信するだけでなく、ディスクのすべてのブロックを送信してファイルとファイルを検索します。これにより、より多くのトランザクションと余分なデータが追加されます。

リモートまたは低速の接続で VSS を使用する場合、または大規模なプロジェクトで VSS を使用する場合、ほとんど使用できない可能性があります。

ネットワーク経由で使用すると、VSS の速度が約 12 倍向上する製品があります。これは、クライアント サーバー プロトコルを実装することによって行われます。これはさらに暗号化することができ、インターネット経由で VSS を使用する場合に便利です。

私は以前の会社で使用したばかりで、彼らとは仕事も関係もありません。

www.sourcegear.com の SourceOffSite を参照してください。

于 2008-12-18T15:23:31.430 に答える
0

オブジェクトモデルの実行は少なくとも2時間遅くなると思います....;-)

于 2008-12-18T18:32:59.813 に答える
0

コマンド ライン ツールはどのように使用されますか? ファイルごとに 1 回ツールを呼び出すのは偶然ではありませんか?

そのようには聞こえませんが (「再帰的取得」は、そうでないことを意味します)、この考えを入れてみようと思いました。他の人もあなたと同様の問題を抱えている可能性があり、これはソース管理システムでは恐ろしいほど一般的なようです。

あるクライアントの ClearCase は、完全な犬のように動作しました。これは、クライアントのバックエンド スクリプトがこれを行ったためです。コマンド ライン呼び出しごとに、接続が作成され、ユーザーが認証され、ファイルが取得され、接続が閉じられました。何万回も。ああ、コマンド ライン インターフェイスと少しの Perl の危険性。

API を使用すると、アクション間でセッションを開いたままにする可能性が非常に高くなります。

于 2008-12-18T18:50:41.807 に答える