0

テンプレートのことは知っています。これは以前に尋ねられたことを知っています(ここここ)。私の状況を詳しく説明させてください。なぜ私がこの質問を再度するのか理解していただけると幸いです。

私はPowerBuilderという IDE (および言語) を使用しています。PowerBuilder (PB) は、ソース コードとバイナリ オブジェクト コードを一緒に PBL (ピブル) ファイルに保存します。PBL には、複数のクラスのソース コードを含めることができます。このため、PBL をバージョン管理下に置くことは現実的ではありません。個別に改訂する必要があるのは、個々のクラスです。ただし、IDE が使用するのは PBL ファイル自体であり、PBL 内にオブジェクト コードが存在するため、これらのファイルは、リポジトリのクローンを作成するときにプッシュする必要があります。リクエストがあれば、これについてさらに詳しく説明できます。

PB IDE は、ソース コード管理プロバイダーをサポートできるように、MSSCCAPI インターフェイス用のフックを提供します。Visual Source Safe 6 でうまく動作します。しかし、Mercurial で使用できる MSSCCAPI プロバイダーはありません。(以前にも尋ねたことがあります。) はい、更新された API をサポートするために PB を作成する人々を獲得しようとしていますが、それがどのくらいかかるかはわかりません。IDEただし、独自の基本的な SCC 機能を提供します。それは「本当の」解決策ではありません。それはどちらかというと、「本物の SCC プログラムを買えるまでは、これでなんとかなるだろう。安いやつだ」というようなものです。ただし、各クラスのソースを個々のテキスト ファイルにエクスポートし、各クラスに対応する「ステータス」ファイル (PRP ファイル) を作成することで機能します。テキストファイル?それらはMercurialで追跡できます!参考までに、この基本的な「通り抜ける」SCC オプションは、履歴を保持したり、マージを処理したりしません。

これらの PRP ファイルについてもう少し詳しく説明します。PB の組み込み SCC ソリューションは、排他ロックを中心に構築されています。チェックアウト、チェックイン、すべての古いもの。これらのチェックアウトとチェックインは、PRP ファイルを介して管理されます。また、対応する PRP ファイルの存在によって、何がリビジョン管理下にあり、何がリビジョン管理下にないを認識します。

まず、PRP ファイルを使用します。対応するクラスを追跡する必要があることを IDE が認識できるように、これらを押し出す (そして新しいクラスに追加する) 必要があります。PRP ファイルがない場合、IDE は構文をエクスポートせず、Mercurial で何も追跡できません。しかし、PRP ファイルへの変更を追跡し続けると、クラスの排他的ロックも押し出すことになり、誰もそれを望んでいません。そのため、PRP ファイルを追加する必要がありますが、その後の変更を追跡する必要はありません。

And I need the same for the binary PBL files. As mentioned before, I need them to exist so that the IDE knows what PBLs make up a code base, but the complexities of the object code, compilation, and class inter-dependencies mean that it's not feasible to recreate them on the fly. So I need the PBLs added to Mercurial, but I don't really want to track the changes to those PBLs. And though I might be able to get by with templates for the PRP files, I can't do that for these binary PBL files.

うまくいけば、それは私の状況を完全に説明しています。この質問が非常に長いことをお詫びしますが、「これは X の複製です」という大量のすぐに得られないように、私が何に反対しているのかを明確に理解していることを確認したかったのです。反応。何卒ご理解とご協力を賜りますようお願い申し上げます。

4

2 に答える 2

0

代替ソリューション

于 2012-11-09T21:46:22.700 に答える
0

これが理解できなくても

PRP ファイルへの変更を追跡し続けると、クラスの排他ロックも解除され、誰もそれを望んでいないことになります。そのため、PRP ファイルを追加する必要がありますが、その後の変更を追跡する必要はありません。

つまり、「...誰もそれを望んでいません...」および「... PRPファイルを追加しますが、それらへのその後の変更を追跡しません...」-変更可能な(および変更された)ソースのバージョン管理をない場合I Mercurial への最初の変更ファイルの後に古いものを追加する理由がわかりません

Mercurial では、後でファイルを追加、保存、および無視できます。この回答は、小さな変更でうまくゲームをプレイします: .hgignore 完全な作業コピーが必要なため (本当に必要ですか?)、使用できますhg up -r N

于 2012-11-09T20:44:28.457 に答える