質問

私は、私たちのコードベースのPERFORCEの中にブランチを作成したとします。ここでは、分岐の仕様は次のとおりです。

//depot/code/main/... //depot/code/branch/...

次に、ブランチに、私が分岐ファイルA.TXTを動かすと言う - >

を使用してB.TXT
p4 integrate //depot/code/branch/a.txt //depot/code/branch/b.txt
p4 delete //depot/code/branch/a.txt

さて、私はブランチにB.TXTに統合していたいたいくつかの変更がメインでA.TXTさせるとしましょう。

私は、元のブランチ仕様を使用して統合しようとすると、

、それはB.TXT上にメインでA.TXTに加えられた変更を反映していない - 名前を変更したファイル内のメインショーアップに加えられた変更を持っているどのような方法があります?

ブランチ仕様は、(変更の何百もの)かなり大きく、かなりの数のファイルがブランチに名前が変更されましたので、私はこれを行うための自動化された方法を持っているしたいと思います。私はここで何かを明確にできるかどうか私に教えてください - それは、ホワイトボードを持つように役立つだろう;)

ありがとう! サム

役に立ちましたか?

解決

おそらく、いずれの場合でのみ、将来のリネームについて -

のPERFORCE 2009.1はこれで役立つかもしれない適切なリネームを、持っています。 のPERFORCE 2009.1リリースには、特に、のノートを参照してください。 >

#177023 * **
    The new 'p4 move' command allows for better support for
    renaming files.  A file must be already opened for 'edit'
    or 'add' in order to be moved.  Moved files can be synced,
    resolved and diffed against the repository just like files
    opened for 'edit'.  See 'p4 help move' for more info.

あなたはブランチ仕様に名前変更を追加することができます。そして、少なくとも、統合は自動的に行われます - ブランチ仕様はさらに長く、より複雑になる場合でも、

他のヒント

あなたは以前には「p4移動」で移動し、自動的に従うこと自体を「再ターゲット」されている対象ファイルを検出しますこれは、統合のための新しいエンジンを使用するには「-3」スイッチを追加することができます これらは、操作を移動します。

p4 integrate -3 //depot/code/main/... //depot/code/branch/...

//depot/code/branch/b.txtする//depot/code/main/a.txtで変更を統合します。

これは、現在の2010.2リリースの「undoc」機能ですが、今後の2011.1でのデフォルトの動作になります。

PERFORCEのは、あなたのためにこれを処理するために持っている私が知っている唯一の方法は、分岐内の新しいファイルに元の古いファイルをマッピングするためにブランチ仕様を使用することです。多分それは私が経験したことがない、最近のPerforceバージョンでは、新たな移動コマンドで変更しましたが、しています。

スクリプトのp4 FSTATの出力を使用して移動したファイルを処理するためのブランチ仕様の作成をできた。

の出発点として、以下を使用します:

ROOT_PATH="//depot/books/..."
FIRST_CHANGE=91212

p4 fstat -Os -T headChange -F "headAction=move/* headChange>$FIRST_CHANGE" $ROOT_PATH|grep headChange | sort -u|while read DUMMY1 DUMMY2 change; do p4 describe $change; done|grep "moved from"|sed 's/\.\.\./\t/g; s/\#[0-9]*//g; s/ moved from//g;'

これは、//デポ/ブック内のすべてのファイルを検索します/ ...の変化に移動し、その91212以降

私たちにとって、これの出力は、

のようになります。

//デポ/書籍/ bar.txt //depot/books/foo.txt

ブランチ仕様を作り上げるためにそれを使用します。

私はそう信じていません。直接p4 renameありませんので、あなたが統合し、削除する必要があります - あなたはそれをやった後は、もはや右のファイルに移動しない別のブランチから統合されています。少なくともそれは私の経験をされている。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top