2009-03-03 22 views
5

Come posso tornare alla baseline precedente? Abbiamo un progetto di sviluppo parallelo UCM (multi-stream). Ogni sviluppatore ha una vista istantanea sul flusso di integrazione del progetto. Gli sviluppatori vogliono vedere la versione precedente dell'applicazione nelle loro viste istantanee in modo che possano eseguire il debug della prima versione dell'applicazione per trovare i bug.ClearCase: come posso tornare alla baseline precedente?

Quando voglio modificare le linee di base della base di una vista di uno snapshot esistente, clearcase non mi consente. Quindi, come posso fare questo?

risposta

6

Poiché si utilizza il termine Linea di base, presumo che si stia utilizzando UCM.

Su uno stream, non è possibile ripristinare una linea di base al contrario.

Una possibilità è quella di creare un flusso parallelo, con la linea di base desiderata come fondamento: questo è il modo più rapido.


Dopo modifiche su questo nuovo flusso, è possibile effettuare una nuova rebase di cambiare la linea di base fondazione, ma solo se questo nuovo rebase sta usando una linea di base più recente dal flusso principale (non una linea di base più vecchio)


per il vostro bisogno specifico, Consiglierei un non-UCM visione istantanea con un semplice regola

element * thePreviousBaseline 

Affinché lo sviluppatore di avere:

  • suo/la sua vista UCM corrente per lo sviluppo (sempre impostato sulla più recente di un ramo associata a un flusso)
  • una seconda vista snasphot impostato su qualunque linea di base che lui/lei ha bisogno.

Questa seconda visione istantanea è completamente non-correlata al progetto UCM e sfrutta la natura "pieno" della linea di base (si controlla che la linea di base è stato messo come "pieno", non è "incrementale".Se è "incrementale", è sufficiente modificare il tipo e aggiornarlo alla piena)

Così, accanto al tuo snapshot corrente vista UCM, è possibile creare ovunque si desideri una vista non snasphot:

cleartool mkview -snap -tag mylogin_myComponentname_csl_snap -vws myPathToViewStorage myPathToRootView 
cd myPathToRootView 
cleartool edcs 
[add the selection rule: element * myOlderBaseline] 
[add the load rule at the end: 'load /myVob_Including_MyComponent] 
[save, type 'yes'] 

Quello va bene per la consultazione/esecuzione, ma se è necessario patch (che io sia a scrivere, check out e in alcuni file), quindi raccomanderei un flusso UCM per baseline da correggere.
In questo modo, lo stream rappresenta chiaramente lo sforzo di patch per una determinata linea di base. Non dovrebbero esserci troppi di loro, a meno che non si mette in produzione una nuova versione della propria applicazione ogni cinque minuti ... che non è consigliabile;)


Quindi, per riassumere:

  • la la vista snapshot non UCM è unica e consente una consultazione/debug rapida di una linea di base precedente alla volta.
  • per le patch (modifica origine), si crea un flusso parallelo denominato in modo appropriato, con la linea di base di base corretta e quindi una vista UCM su di esso. Puoi non solo eseguire il debug ma anche correggere alcuni bug in un'attività, consegnare quell'attività allo stream Int principale se quell'errore deve essere adattato in un flusso più alto.
    (nota: tutti i bug non sempre bisogno di essere consegnati: possono essere obsoleti se confrontato con lo stato attuale dello sviluppo)
+0

Sì, sto utilizzando UCM. Quando eseguo il flusso parallelo di sviluppo/figlio, posso caricare la base di riferimento come base. Tuttavia, quando apporto qualsiasi modifica in questo flusso parallelo, non posso modificare nuovamente la linea di base del fondamento. – mcaaltuntas

+0

Grazie mille per le tue risposte. Come posso creare una vista non UCM in un progetto UCM (mi dispiace sono un principiante)? E quando uno sviluppatore vuole vedere una linea di base precedente rispetto al flusso parallelo corrente, deve creare un nuovo flusso di sviluppo figlio per la linea di base precedente? – mcaaltuntas

1

Bene, dipende. In realtà, la risposta sta nel configurare le specifiche di configurazione in modo che puntino ai file corretti. La tua specifica di configurazione dice alla tua vista quali versioni di elementi guardare. Ma come lo scrivi dipende dall'approccio del tuo progetto alle linee di base. Hai applicato un'etichetta per contrassegnare quella linea di base? Se è così, e se si desidera solo per leggere e non checkout nulla di nuovo, la vostra spec config può essere semplice come

element * <LABELNAME> 

Se non si utilizza etichette, è possibile anche impostare lo spec config visualizzare file in base alle date. Diventa più complicato più regole devi aggiungere per limitare le tue scelte di elementi. Se hai altre specifiche, posso provare ad approfondire quali regole potresti aver bisogno. In caso contrario, vorrei leggere i manuali forniti con ClearCase. Se si visualizza la Guida estesa da ClearCase Explorer e quindi si esegue la "Visualizzazione dei manuali Rational ClearCase in linea", è necessario fornire alcuni collegamenti ai riferimenti dei comandi. Questo è dove vado ogni volta che ho bisogno di modificare le mie specifiche di configurazione in qualche modo nuovo.

Inoltre, si noti che utilizziamo solo viste dinamiche, quindi non so se le visualizzazioni di istantanee funzionano in modo diverso.

2

Il modo in cui ho risolto questo problema è quello di fare un altro flusso, un bambino Stream del flusso di integrazione. Il modo più semplice per creare questo stream è aprire ClearCase Project Explorer (non Rational ClearCase Explorer) e navigare fino al progetto e quindi al flusso in questione. Fare clic con il tasto destro del mouse sul flusso di integrazione e selezionare "Crea flusso figlio ..."

Fare clic su "Opzioni avanzate" e selezionare una linea di base per ciascun componente. Fai questo selezionando il componente e poi selezionando "Cambia ..." e selezionando la linea di base specifica che vuoi vedere. Probabilmente vuoi selezionare "Richiedi di creare una vista per questo stream". Seleziona "OK".

Qualsiasi sviluppatore può farlo. Non è necessario essere un proprietario VOB o un proprietario di Project o Stream.

+2

Se si esegue solo il debug e la vecchia versione o si generano i binari da una vecchia base di riferimento, è anche possibile contrassegnare il nuovo stream come di sola lettura. Dopo aver eseguito ciò che desideri, puoi anche contrassegnarlo come obsoleto in modo che non venga visualizzato per impostazione predefinita in Project Explorer. – neves

Problemi correlati