Domanda

Dire che ho creato un ramo in forza del nostro codebase.Qui è il ramo spec:

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

Poi, nel ramo, posso dire di spostare il file diramato a.txt -> b.txt utilizzando

p4 integrate //depot/code/branch/a.txt //depot/code/branch/b.txt
p4 delete //depot/code/branch/a.txt

Ora, diciamo che alcuni cambiamenti sono fatti per a.txt in principali che vorrei integrare nel b.txt nel ramo

Quando cerco di integrare con l'originale ramo spec, non riflette le modifiche apportate al a.txt nel principale su b.txt - c'è qualche modo per avere le modifiche apportate in mostra principale in rinominato il file?

Il ramo spec è piuttosto grandi (centinaia di modifiche) e un bel po ' i file sono stati rinominati in filiale, quindi mi piacerebbe avere un modo automatico per fare questo.Fammi sapere se posso chiarire tutto qui -- sarebbe di aiuto avere una lavagna ;)

Grazie!Sam

È stato utile?

Soluzione

Perforce 2009.1 è corretto rinomina, che può aiutare con questa - probabilmente, e in ogni caso solo per il futuro rinomina.Vedere Perforce 2009.1 note di rilascio, in particolare:

#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.

È possibile aggiungere il rinominare il ramo spec.Quindi almeno le integrazioni saranno automatica, anche se il ramo spec sarà ancora più lungo e più complicato.

Altri suggerimenti

È possibile aggiungere interruttore '-3' di utilizzare un nuovo motore per l'integrazione, che rileverà i file di destinazione che sono stati precedentemente spostati con 'p4 movimento', e automaticamente 'retarget' stesso per seguire quelle operazioni di spostamento.

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

integrerà le modifiche in //depot/code/main/a.txt a //depot/code/branch/b.txt.

Questa è la caratteristica 'UNDOC' in corrente 2010.2 liberatoria, ma sarà il comportamento predefinito nel prossimo 2011.1.

L'unico modo che conosco per avere Perforce gestire questo per voi è quello di utilizzare le specifiche ramo per mappare il vecchio file in originale al nuovo file nel ramo. Forse questo è cambiato con il nuovo comando movimento nelle recenti versioni Perforce, ma non che ho sperimentato.

Si potrebbe sceneggiatura la creazione di una specifica filiale per la gestione di file spostati utilizzando l'uscita di p4 fstat.

Utilizza il seguente come punto di partenza:

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;'

In questo modo trovare tutti i file in // depot / libri / ... che sono stati spostati nel cambiamento 91212 o poi

Per noi, l'uscita di questo si presenta come

// depot / libri / bar.txt //depot/books/foo.txt

Si usa per la lavorazione una specifica filiale.

Non credo così. Dal momento che non v'è alcun p4 rename diretta, è necessario integrare e cancellare - una volta che hai fatto, integra da un altro ramo più andare al file giusto. Almeno questa è stata la mia esperienza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top