Domanda

La mia azienda utilizza AccuRev per controllo del codice sorgente, e per tutti i suoi benefici, c'è un semplice gesto che non riesco proprio a capire come realizzare.

Spesso abbiamo qualcuno spingere accidentalmente un file troppo in alto nel nostro stream struttura - dal flusso di "sviluppo" al flusso di "Release", per esempio. Qual è il modo migliore per "un-promuovere" questo file? Vale a dire, per ottenere la versione precedente del file indietro nel flusso "Release", e mantenere la nuova versione del file nel flusso di "sviluppo", a cui appartiene?

Basta fare un "Ripristina Backed" o altra azione Ripristina sul file nel flusso di uscita sarà o causare una vecchia versione del file per propagare giù in sviluppo, o renderà il file scomparire del tutto.

Nel caso di cui sopra, lo sviluppatore dovrà fare i salti mortali con impostazione dei tempi di base sui flussi, oppure utilizzare lo strumento da riga di comando per fare un checkout di una vecchia transazione, per ottenere il file indietro. A volte le persone in questione non sono tecnici, quindi questo non è una buona soluzione.

Ho anche considerato spostare i file in una "Higher Ground" stream, tornando, e poi li promozione incrociata al flusso inferiore di nuovo. Questo sembra davvero kludgy.

Sembra che AccuRev è sufficiente che Google non è di aiuto oscura, quindi mi rivolgo alla buona gente di StackOverflow di aiuto -? Qualcuno ha capito il modo in cui "Accurevy" per raggiungere questo obiettivo

È stato utile?

Soluzione

  1. Vai al browser flusso principale

  2. Fare clic destro sul torrente accidentalmente promosso a scegliere e 'Mostra cronologia'

  3. In navigatore Storia, fate clic destro sul promuovere la si desidera ripristinare e selezionare 'Ripristina'

  4. E ti chiederà che di lavoro da mettere il risultato della revert in, è possibile scegliere l'area di lavoro hai fatto l'accidentale promuovere da se vi piace.

  5. Nel vostro spazio di lavoro, i file dovrebbero ora essere di nuovo allo stato precedente l'accidentale promuovere. A questo punto è possibile promuovere che il backup nel flusso sopra. Il flusso sarà ora conterrà versioni dei file che hanno il tuo accidentale promuova rimosso.

  6. Si può notare lo spazio di lavoro non è più contiene nessuno dei file in questione, ma presumibilmente si desidera ottenere i file accidentalmente promosso di nuovo nel vostro luogo di lavoro? Se è così tornare al browser la storia per il flusso, fare clic destro sul promuovere lì che hai appena fatto (la promozione con i Annullate le modifiche a) e scegliere 'Ripristina'. È quindi possibile scegliere lo stesso spazio di lavoro come destinazione.

  7. I file sarà probabilmente compare nel gruppo di default per il vostro spazio di lavoro ora, ed essere in conflitto, quindi basta selezionare il lotto, e fare un merge. È probabile che desidera accettare unioni banali qui.

Una volta che avete unito i file, che dovrebbero apparire nel filtro in sospeso. Si dovrebbe ora avere gli stessi file in attesa di come avete davanti a voi accidentalmente promosso, e il torrente sopra dovrebbe avere gli stessi contenuti nel file come prima promosso.

Semplice come quello (l'ironia destinato).

Steve

Altri suggerimenti

Il, aggiungere-solo la natura di audit-friendly di AccuRev significa veramente che ritornando un cambiamento significa ri-applicare la versione che si desidera. Intuitivamente, si vuole andare indietro "1-passo". Ma in un sistema di sola aggiunta, questo davvero significa andare in avanti e ri-applicando una vecchia versione. Così, ritornando è naturalmente un processo "2-passi avanti" invece di "1-passo indietro."

Nella maggior parte delle situazioni, tornando non accade più spesso in modo che il globale valore di 'aggiungere solo' supera la ricetta Revert (IMO).

Come soluzione coerente one-stop-shop, l'approccio più preciso (come si parla) è t ripristinare la transazione promuovere. Visualizzare la cronologia flusso, trovare promuovere gli indesiderati, RFare clic su> Ripristina. Avrete bisogno di uno spazio di lavoro bambino .. perchè? perché facendo un revert può richiedere una non-unione. Pensate a un ritorno di un interstiziale promuovere ... è come prendere la lattuga da un panino e la necessità di unire i panini top- e bottom-insieme. Solo in un sistema txn basato, che revert può anche includere il pomodoro, senape, e sale di sedano e come singolo "annullare". Quindi, è necessario salvare le modifiche della fusione, se ne esiste uno. In ogni caso, e anche se si sta solo undo'ing il più recente promuovere, basta annullare la modifica all'area di lavoro, fare il [occasionale] unire e promuovere tutto.

Per farla breve. Ripristino in qualsiasi sistema CM è un po 'come fare un intervento chirurgico in modo che probabilmente si desidera persone rilevanti coinvolte.

Facendo un passo indietro. Io tendo a trarre vantaggio da flussi AccuRev per convalidare codice precedente-che-spesso e promuovendo in alto nella catena solo quando convalidato. quindi la possibilità di un ritorno è meno come si promuove più alto.

AccuRev versione 5.2 introduce la possibilità di ripristinare una transazione o emettere direttamente in un ruscello, senza coinvolgere uno spazio di lavoro. Questo è utile per un ritorno un cambiamento nel flusso di "liberare", ma non risolve la seconda parte della tua domanda (per mettere la nuova versione di nuovo nel flusso di "sviluppo". La piena "unpromote / degradare" funzione è prevista per un versione futura.

Per ulteriori informazioni sulla versione 5.2, visitare le note di rilascio a -

http://www.accurev.com/download/docs/5.2.0_books/AccuRev_5_2_0_Install_Release_Notes .pdf

Lo dico non del tutto tongue-in-cheek, ma è possibile eseguire Mercurial a livello locale e poi, quando si esegue in questa situazione per riportare il Mercurial, ri-promuovere a AccuRev, e poi rotolare di nuovo in avanti Mercurial. Diversi sviluppatori al mio posto di lavoro trovano AccuRev così gravoso da usare che questo modello sta guadagnando un po 'di trazione.

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