2017-06-01 17 views
1

私はgit-p4ツールを使用してPERFORCEリポジトリをGitに移行しようとしていますが、ブランチ設定では苦労しています。次P4のレイアウトを考えてみましょう:masterブランチにFOLDER2、FILE1 FILE2 &を維持しながら、ここでPerforceからGitに複数のブランチを移行する

Folder1/ 
-- SubFolder1/ 
-- SubFolder2/ 
Folder2/ 
file1.txt 
file2.txt 

が、私は、別の支店としてSubFolder1とSubFolder2を移行する必要があります。

私はp4.branchListの設定で以下の設定を指定しようとした:、私は間違って何かをやっている

p4 describe -s 521710 did not return 1 result: [{'generic': 33, 'code': 'error', 'data': "Operation 'user-describe' failed.\nChange 521705 description missing!\n", 'severity': 4}, {'p4ExitCode': 1}] 

かなり確信:

git config --add git-p4.branchList DEPOT_PATH/Folder1/SubFolder1:Branch1 
git config --add git-p4.branchList DEPOT_PATH/Folder1/SubFolder2:Branch2 
git config --add git-p4.branchList DEPOT_PATH/Folder1:master 

を、私は非常に有用ではない、このエラーを得ましたgit-p4で現在のレイアウトの移行が可能かどうかはわかりません。どんな助けでも大歓迎です。

おかげ

UPDATE

私は、エラーメッセージに示されるように、P4は、コマンドを記述し実行してみましたことを言及するのを忘れてしまったが、私は、「変更の説明が不足している」ことを示す別のエラーが発生しました。

+0

あなたは 'p4 describe 521705'を試してみることができます –

+0

こんにちはダグラス、返事をありがとう。投稿を更新しました – Davita

+0

あなたのPERFORCEリポジトリに何らかの破損があるようなサウンドがあります。ヒストリに存在するチェンジセットの説明が不足していてはいけません。 –

答えて

1

正直言って、私はあなたが望むことができるかどうかは完全にはわかりません。 ブランチ検出は、各ブランチが完全な独立したディレクトリ構造に存在し、サブディレクトリには存在しないと仮定して実装されました。

それにもかかわらず、その構成でデポ・パスを使用すべきではありません。これらは、インポート処理中に使用された元のデポ・パスに常に関連するディレクトリー・ペアです。各ペアは、integrate(または同様の)操作のソースおよび宛先ディレクトリである必要があります。

//depot/project/main 
//depot/project/branch1 
//depot/project/branch2 

や枝を使用して作成された:

p4 integrate //depot/project/main //depot/project/branch1 
p4 integrate //depot/project/branch1 //depot/project/branch2 

次にあなたがgit p4 clone //depot/project/[email protected]を使用してインポートするときに、次のブランチを設定する必要があります。

git config --add git-p4.branchList main:branch1 
git config --add git-p4.branchList branch1:branch2 
それは、あなたが以下の構造を持っていると仮定しています

このように、具体的な例を挙げると、次のco mmand:

git p4 clone --detect-branches //depot/path/[email protected] 

は、その後あなただけの/path/部分の後にパスを含める必要があります。

DEPOT_PATH //depot/project_rootとimportコマンドgit p4 clone --detect-branches //depot/[email protected]と仮定すると、あなたは次の設定が必要になります

git config --add git-p4.branchList project_root:project_root/Folder1/SubFolder1 
git config --add git-p4.branchList project_root:project_root/Folder1/SubFolder2 

SubFolder1とSubFolder2両方がPROJECT_ROOTから統合された、あります。

+0

こんにちは@Vitor、返信いただきありがとうございます。私はちょっと混乱しているので、ソースはありません:宛先のペアはgit分岐マップにP4フォルダを表しますか?もしそうなら、なぜあなたはgitブランチ名でP4のパスについて言及しましたか?私は何が欠けていない場合ですか? :)とにかく、今これを試してみよう。もう一度感謝します:) – Davita

+0

'p4 integrate // depot/project/path1 // depot/project/path2'の場合は、' git p4 clone //でクローン化することができるという意味で、P4デポ内のソース: depot/project /[email protected]'を実行し、path2がpath1の枝であることをgit-p4に伝えます。 – Vitor

+0

私は今参照してください。私はマッピングがgitブランチ名へのP4ブランチパスを表していると思った。つまり、すべてのソース - >宛先ブランチをマップする必要がありますか? 致命的:あいまいな引数 'refs/remotes/p4/dvt_bsg/rel/R2.4.2.78':不明なリビジョンまたはパスではありませんが、私はいくつかのプロジェクトをgitに移行しようとしました。ワーキングツリーで私はこのエラーがブランチマッピングの問題に関連しているというあなたの他の答えを見ました。そして私は適切なマッピングを提供すべきだと思います。しかし、私は正しいマッピングが何であるかを判断する方法を得ませんでした... – Davita

関連する問題