問題タブ [perforce-integrate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perforce - 単一ファイルの変更の伝播を防ぐ
推奨されるメインライン モデル(リリース、メインライン、および開発ストリーム)に従って、Perforce ストリームを使用します。さらに、奇数/偶数のリリース バージョン番号付け (Linux カーネルと同様) を使用し、開発バージョンには奇数のマイナー バージョン番号を、リリース バージョンには偶数のマイナー番号を使用します。
リリース ストリームのバグを修正した後、いくつかのファイルをバージョン情報で更新して、新しいリリース バージョン/インストーラーを作成する必要があります。メインラインのバージョンはすでに次の開発バージョンに上げられているため、これらのバージョン変更をメインラインにマージしないでください(バグ修正自体のみ)。
現在、リリース ストリームからメインにマージすると、バージョン情報を含むすべてのファイルで競合が発生します。現在、すべての競合を手動で解決し、バージョン番号の変更を元に戻す (開発バージョンを維持する) 必要があります。
例:
- バージョン 2.4.0 から開始されたリリース ストリーム (安定版/リリース バージョン番号)
- メインライン バージョンを 2.5 に上げる (次の開発バージョン)
- リリース ストリームのバグを修正し、バージョン番号を 2.4.1 に増やします
- メインラインへの変更のマージ: バグ修正を受け入れ、バージョン ファイル内の競合を手動で元に戻します
この面倒な (そして潜在的にエラーが発生しやすい) 手動プロセスを実行する必要がないように、単一のファイルまたは一連のファイルを統合から除外する方法はありますか? (注意: バージョン情報はコードとは別のものです。)
merge - Perforce: リリース ストリームを親仮想ストリームにマージ/統合する
メイン ストリームと子仮想ストリームがあります (たとえば、親がメインの ProjVirt)。ProjVirt ストリームから rel1.0 というリリース ストリームを作成しました。変更を rel1.0 から ProjVirt に移行できるようにするためです。
グラフ ビューでも、rel1.0 から ProjVirt に向かう緑色のマージ矢印が表示されますが (マージが可能であることを示しています)、rel1.0 から親仮想ストリームに変更をマージすることはできません。次の警告が表示され続けます。
私は何を間違っていますか?
perforce - Perforceでは、「ファイルが同一」であるファイルを統合しないようにするにはどうすればよいですか?
これは、ブランチ上のファイルに変更を加えた後、別のブランチに統合する前にそれらの変更を元に戻した場合に発生します。
理想的には、実際には何も変更されていない変更リストでメイン ブランチを汚染することは避けたいと考えています。
perforce - P4Vではなくコマンドラインを使用してPerforceでストリームをマージする
P4 でコマンドを使用してストリームをマージする必要があります。誰でもこれで私を助けることができますか?2 つのストリームは親子ストリームです。親から子にマージする必要があります。
perforce-integrate - Perforce ヘッドを新しいブランチに切り替える
私が取り組んでいる特定のプロジェクトの現在の責任者はチェンジリスト 123 で、ファイル C、D、および E があります。
コードが完全にリファクタリングされる前に 9 件の提出があったため、10 件の提出前にチェンジリスト 11 と呼びましょう。プロジェクトにはファイル A、B、C しかありませんでした (C はチェンジリスト 123 バージョンの ofc とはまったく異なります)。
何かが起こり、チェンジリスト 11 から分岐しなければなりませんでした。コードを提出しなければなりません。私の提出物は新しい head になります。よくわからないのは、変更リスト 9 のすべてのファイルのみが提出後に head に存在するように統合する方法です (つまり、変更リスト 123 のすべてのフィールドが「削除」されます)。
解決策を探してみましたが、すべてのファイルを手動で削除する必要があったため、明らかに間違った情報を見つけました...プロジェクトは明らかに3つのファイルのみではなく、gitを使用するとこれを非常に簡単に行うことができます.したがって、perforceでもこれを行う適切な方法があると思います。
ヒントをいただければ幸いです。
編集:おそらくもっと明確に言うと: 私の頭は 123 です。リビジョン 11 から (ツリーの意味で) 分岐し、リビジョン 124 を作成します。これが今頭になります。そのため、プロジェクト ヘッドをデポに提出すると、リビジョン 12 から 123 に関連するファイルや変更は含まれません。
perforce - perforceでのBranchマージとStream_to_streamマージの違い
Perforce で 2 つのストリームをマージしようとすると、たとえば、ストリーム A が親で、ストリーム B がストリーム A の子です。ストリーム A からストリーム B にマージしたいと思います。これらの間をマージしようとすると、マージダイアログボックスには3つのオプションがあります
- ストリームからストリームへのマージ
- ソース ファイルとターゲット ファイルを指定する
- ブランチ マッピングを使用する
ここで質問があります。これらの 1 番目と 3 番目の違いは何ですか?