2010-05-05 10 views
188

Desidero invertire le modifiche da uno dei miei check-in. Nel menu contestuale del tasto destro della particolare changelist, ci sono queste due opzioni:Qual è la differenza tra "Rollback ..." e "Back Out Submitted Changelist #####" in Perforce P4V

  • rollback ...
  • indietro Inserito Changelist

Qual è la differenza tra questi due? In quali situazioni dovrei usare l'una o l'altra?

+3

In questo caso, "Elenco modifiche inoltrate" era l'opzione giusta per la mia situazione (volevo solo annullare le modifiche dal check-in). Grazie per le grandi risposte. –

risposta

210

Entrambe queste operazioni ripristinano un insieme di file a uno stato precedente e sono essenzialmente più veloci e metodi più sicuri di annullare errori rispetto all'utilizzo del comando p4 obliterate (e non è necessario l'accesso di amministratore per utilizzarli).

Nel caso di "Rollback ...", questo potrebbe essere un numero qualsiasi di file, anche un intero depot. Puoi dirlo al rollback di una specifica revisione, lista delle modifiche o etichetta. I file vengono ripristinati allo stato in cui si trovavano al momento della creazione di tale revisione, lista modifiche o etichetta.

Nel caso di "Elenco modifiche sottostanti #####", l'operazione di ripristino è limitata ai file che sono stati inseriti nell'elenco modifiche #####. Quei file sono ripristinati allo stato in cui si trovavano prima di aver inviato quell'elenco di modifiche, a condizione che non siano state apportate modifiche a quei file da allora. Se sono state apportate modifiche successive a uno di questi file, Perforce ti dirà che quei file non sono aggiornati. Dovrai sincronizzare con la revisione principale e quindi risolvere le differenze. In questo modo non invierai inavvertitamente alcuno dei cambiamenti che vuoi effettivamente mantenere.

Entrambe le operazioni funzionano essenzialmente inviando vecchie revisioni come nuove revisioni. Quando si esegue un "Rollback ...", si è ripristinare i file allo stato in cui si trovavano in un momento specifico, indipendentemente da ciò che è successo a loro da allora. Quando si esegue un "Back out ...", si sta tentando di annullare le modifiche apportate in un momento specifico, mantenendo le modifiche che si sono verificate da allora.

+17

I ** think ** "Back Out Submission Changelist #####" cercherà ** di ** di mantenere le modifiche apportate agli stessi file dopo l'elenco di modifiche specificato. –

+0

@Ian: buona osservazione. Quando ho scritto questo pensavo sulla falsariga di correggere immediatamente un errore. Come succede di solito, se ti rendi conto di voler annullare qualcosa _ molto tardi_, diventa più complicato. Ho raffinato la mia risposta. – raven

+0

@IanRingrose Ho appena fatto un'operazione di "backout", e sembra che * non * tenti di mantenere le modifiche che sono state fatte in seguito. Ho dovuto fare una sincronizzazione e poi risolvere per recuperare le modifiche in cui sono state inviate dopo il backout. – gdw2

4

Rollback ... ti chiederà di selezionare una cartella per il rollback, cioè funzionerà su cartelle specifiche e potrai eseguire il rollback su etichette, changlists o date. Back out funziona sui file in specifici elenchi di modifiche.

17

invertire una presentazione changelist

Non è possibile annullare una sottomissione changelist di successo, ma è possibile invertire le modifiche già presentati in due modi:

rollback ripristina un file o un insieme di file di nuovo ad un elenco modifiche specificato , data o revisione. Qualsiasi modifica apportata dopo quel momento non viene mantenuta. Indietro rimuove le modifiche specifiche apportate a un dato elenco di modifiche, data o revisione ma consente a un utente di mantenere le modifiche apportate nelle revisioni successive.

Per i dettagli si rimanda alla http://www.perforce.com/perforce/doc.current/manuals/p4v/Working_with_changelists.html

8

Backout ripristina o annulla i nostri cambiamenti. Il modo in cui lo fa è che P4 annulla le modifiche in un elenco di modifiche (predefinito o nuovo) nel nostro spazio di lavoro locale. Dovremo quindi inviare/confermare questo elenco di modifiche al back-out mentre eseguiamo altre modifiche.La seconda parte è importante qui, poiché non esegue automaticamente il back-out dell'elenco modifiche sul server, dobbiamo inviare l'elenco delle modifiche del back-out (che ha senso dopo averlo fatto, ma inizialmente pensavo che lo facesse automaticamente).

Come sottolineato da altri, rollback è maggiori poteri - E 'possibile ripristinare le modifiche a una data specifica, elenco modifiche o una revisione #

+1

questo era un punto estremamente vitale, grazie –

+0

Questo commento mi ha fatto capire la differenza, di come funziona davvero il backout! Grazie! –

2

spiego questo per gli utenti, confrontando changelists Perforce a una pila (da strutture di dati).

Il distacco rimuove un elemento da qualsiasi punto della pila.

Il rollback rimuove n elementi dalla cima della pila.

0

Nel caso più semplice, la differenza è una delle pluralità:

  • Backout spalle su un unico elenco modifiche (se il più recente o meno). cioè, annulla un singolo changelist.
  • Rollback ripristina le modifiche necessarie per accedere a un elenco delle modifiche precedente. cioè, annulla più elenchi di modifiche.

Ero solito dimenticare quale è e che si finisce per dover cercare più volte. Per risolvere questo problema, immagina di tornare indietro con diverse rotazioni, quindi spero che il rollback ti aiuti a ricordare (e io!) Quale è quale. Backout suoni "meno plurale" di rollback per me. Immagina di uscire da uno spazio singolo .

Così, il mnemonico è:

  • rollback → molteplici rotazioni
  • Backout → indietro di un singolo auto spazio parcheggio

Spero che questo aiuta!

Problemi correlati