2

現在デポに存在しない並列の場所にコピーしたいブランチがデポにあります。(つまり、私は現在 \depot\rev6.2... を持っており、\depot\rev6.2b に別のブランチを作成する必要があります...) また、実現したいことが 2 つあります。

まず、rev6.2b にコピーするには、rev6.2 からのチェンジリスト履歴が必要です。統合機能を使用しようとすると、デポに新しいブランチが作成されましたが、履歴は空白です (ブランチを作成するために提出した CL からのエントリは 1 つだけです)。

次に (可能であれば)、rev6.2 で新しい変更が加えられた場合に、rev6.2b ブランチにも簡単に適用できるようにする簡単な方法を見つけたいと思います。

私はかなり基本的な P4V ユーザー (2011.1) なので、詳細が多いほど良いです。助けてくれてありがとう!!

4

2 に答える 2

9

ブランチ履歴を有効にする必要があります。赤丸で囲んだアイコンをクリックし、ドロップダウンで [Follow Branch Actions] を選択します。

ブランチ履歴を有効にする方法

2 番目の質問については、元のブランチから変更を引き継ぐ場合は、もう一度統合を実行できます。Perforce は統合履歴を追跡するため、ブランチが作成された時期と、それ以降に統合された変更 (ある場合) を認識します。

于 2012-02-08T18:39:45.150 に答える
0

他の人がすでに述べたように、Perforceはすべての統合履歴を保持しているため、「rev6.2b」ブランチからのすべての履歴が「rev6.2」ブランチまで追跡されます。P4V リビジョン グラフは、このすべての履歴を視覚的に示します。コマンド ラインで「p4 filelog」または「p4 filelog -i」コマンドを実行します。例:

$ p4 filelog //depot/rev6.2b/...
//depot/rev6.2b/bar
... #1 change 12179 branch on 2016/02/25 by super1@super2015.2 (text) 'copy'
... ... branch from //depot/rev6.2/bar#1
//depot/rev6.2b/foo
... #1 change 12179 branch on 2016/02/25 by super1@super2015.2 (text) 'copy'
... ... branch from //depot/rev6.2/foo#1

出力は、rev6.2b のファイルが rev6.2 ディレクトリから分岐したことを示しています。

使用している Perforce サーバーと P4V クライアントのバージョンと OS はわかりませんが、ここにフィードバックがあります。

rev6.2 で新しい変更が行われたかどうかについては、それらを rev6.2b ブランチに簡単に適用するために、change-commit トリガーを使用することもできます。'rev6.2' から 'rev6.2b' へのすべての変更をマップするビューを持つブランチ仕様を作成し、copy または integ コマンドでブランチ仕様を使用できます。

管理ガイドを参照してください: 変更コミット トリガー https://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.scripting.html#scripting.triggers.submits.commit

ブランチスペックの例

これは、「master6.2copy」という名前のブランチ仕様のビューです。

View:
    //depot/rev6.2/... //depot/rev6.2b/...

これは、トリガー スクリプトの内容を示す *.bat ファイルです。(これは公式の Perforce スクリプトではなく、微調整できる単なる例です。) 以下の最初の行は、代わりに次のようにすることもできます。

p4 -p localhost:1666 -u myuser -c mywksp コピー -b master6.2copy

@echo off
::
:: Example:   The following change-commit trigger is an MS-DOS batch file
:: This trigger fires only after a changelist submission on a master directory
:: 
:: Add the following line to your triggers table:
::
:: copymaster change-commit //depot/rev6.2/... "/home/user/scripts/copyrev6-2.bat"

p4 -p localhost:1666 -u myuser -c mywksp integ -b master6.2copy
p4 -p localhost:1666 -u myuser -c mywksp resolve -at
p4 -p localhost:1666 -u myuser -c mywksp submit -d "rev6.2 copy to rev6.2b after changelist"
exit 0

お役に立てれば!

于 2016-02-25T23:50:41.790 に答える