Come faccio ad avere un diff di un problema in AccuRev senza modifiche ereditarie?

StackOverflow https://stackoverflow.com/questions/4660715

  •  10-10-2019
  •  | 
  •  

Domanda

Mentre io non sono sicuro di avere una risposta soddisfacente su la mia altra domanda AccuRev , credo che sto iniziando a capire il problema che sto vedendo con diff AccuRev.

Il flusso è qualcosa di simile:

  1. Developer A apporta alcune modifiche per bug 1, promuovere.
  2. Developer A apporta alcune modifiche per bug 2, promuovere.
  3. Developer b su Developer A 's cambiamenti per bug 1 e lo invia per ulteriori modifiche.
  4. Developer C su Developer A 's cambiamenti per bug 2 e lo approva, ulteriore promozione.
  5. Developer A ha più cambiamenti per bug 1, promuovere.
  6. Developer C su Developer A 's cambiamenti per bug 1.

L'ultimo passo è dove io percepisco la rottura. Developer C non può, in alcun modo razionale, vedere tutte le modifiche relative al bug 1, anche se ogni transazione / versione (qualunque cosa AccuRev li chiama) è associata a tale questione id.

Se faccio diff contro base ho tutti i bug 2 cambiamenti così come tutto il resto che è stato promosso. Moltiplica che i tempi di 30 sviluppatori ed è un incubo.

Si ottiene reale disordinato se non ci fossero sovrapposizioni e risoluzione si fondono, ma lascia supporre, per il momento, che l'attribuzione non ottiene sbagliato se non in questo caso ... anche se io l'ho visto fare altrimenti, potrebbe essere solo un malinteso.

In ogni caso, assumendo che tutta promuove erano "puliti" e (come li capisco) nuove operazioni sono operazioni di "alias" di ogni sviluppatori "mantenere" le transazioni.

Come faccio a visualizzare diff combinate delle due operazioni?

In particolare le operazioni di passaggi 1 e 5 sopra. Ci saranno due operazioni, e voglio solo le modifiche apportate in tali operazioni e solo tali operazioni. Idealmente, uno strumento GUI diff ben formattata o che funziona in modo ricorsivo (non su singoli file, il tutto).

Nota, risposte valide può essere "Lo stai facendo male", ma dovrebbe includere suggerimenti costruttivi su cosa cambiare, come "fare le tue recensioni in area di lavoro dello sviluppatore," o simili. Ho il sospetto che potremmo semplicemente utilizzeremo sbagliato.

È stato utile?

Soluzione 2

Credo che non c'è modo per visualizzare le modifiche di un determinato sviluppatore in un file, dopo questi cambiamenti sono stati promossi, quando ci sono più insiemi di cambiamenti per quel file.

Diff contro sostenuta non ha alcun significato in un genitore, flusso non-spazio di lavoro.

Diff contro base ha cambiamenti di tutti.

Si vedano i commenti sulla risposta accettata di Cosa è la differenza tra base e supporto in AccuRev .

Altri suggerimenti

Non direi che stai facendo male, ma ci sono sicuramente alcune assunzioni che devono essere fatte qui. Da parte mia, mi sembra dalla tua descrizione che si sta chiaramente utilizzando un unico file nell'esempio (per semplificare, comunque) e che i cambiamenti sono fatti in serie.

In AccuRev, un pacchetto sui cambiamenti contiene il contesto di qualsiasi file associato al "bug" dalla base alla testa. Così, quando lo sviluppatore fisso Bug 1, la versione "inizio" e "fine" del file sono attribuiti a Bug 1. Indipendentemente da ciò che uno qualsiasi degli altri 30 sviluppatori fare a questo punto, è sempre possibile visualizzare il pacchetto Cambia Bug 1 , un'occhiata alla scheda modifiche e diff il file solo per quello che attiene a questo bug, anche se un migliaio di ulteriori modifiche sono promossi in quel flusso.

Quando si pone la difficoltà sta nel fatto che lo sviluppatore ha assunto ebbe finito, fece le successive modifiche apportate al file che faceva parte del Bug 1, legati che a Bug 2, e si è trasferito. Quando la revisione è fatto e lui deve ora apportare modifiche aggiuntive per Bug 1, quelli sono in costruzione su top del Bug 2 modifiche.

Prima di tutto, AccuRev non permette di promuovere e collegare il file a Bug 1 senza di voi la scelta di fare un "Merge Change Package". Questo significa che c'è un divario nell'attribuzione delle versioni al bug specifico che si desidera link - in particolare le modifiche Bug 2. AccuRev si vuole confermare che quelle Bug 2 cambiamenti sono bene essere implicitamente inclusa nel Bug 1 fix. In modo da non lasciare che accada solo per caso. Tuttavia, se si decide che non si desidera che il bug 2 modifiche di essere presenti nel contenuto Bug 1, devi fare alcune patch. Questo diventa più complicato sotto il flusso di lavoro che hai descritto, ma sicuramente possibile. La linea di fondo è che lo scenario che hai presentato è quello in cui nessuno strumento sta per essere in grado di gestire automaticamente, perché ci sono cambiamenti seriali associati a diversi bug. Beh, mi permetta di modificare tale e dire che nessuno strumento che funziona al di fuori delle cose come "check-in commenti", e fornisce modi per lavorare automatizzato a livello problema invece del livello di file sarà. The Change pacchetto AccuRev è molto potente e mette il controllo nelle vostre mani, che consente di operare sul CP come un oggetto durante tutto il processo di sviluppo.

Spero che questo risponde alla tua domanda nel miglior modo possibile in questo forum. Se hai altre domande o volete discutere in modo più approfondito, possiamo organizzare che pure.

Saluti,
~ James

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