2012-04-12 7 views
5

Uno dei nostri sviluppatori ha scoperto qualcosa di molto strano in Gated Checkin Builds che sembra essere una funzionalità di Gated Checkins.Checkered gated: Sheving the Sources provoca il rollback in Visual Studio

All'avvio di un Checked Gated, la soluzione nel suo Solution Explorer sembra tornare all'ultima versione. Dopo aver completato la compilazione Visual Studio mostra un errore o un messaggio di successo con il pulsante in tedesco chiamato "Code aufnehmen" (in inglese: "Riconcilia ...")

Dopo aver fatto clic, ritorna le sue modifiche.

So che in Visual Studio è possibile scegliere di annullare la soluzione al momento dello shelving. Mi sembra che questo è ciò che Visual Studio fa per impostazione predefinita.

È possibile impostare Visual Studio o TFS in modo che non vengano ripristinati dopo il salvataggio dei check-in con gate? O forse qualcuno può dirmi il motivo per cui Visual Studio lo fa.

risposta

4

L'intero processo con checkin Gated è che TFS:

  • Costruisce uno shelveset con tutte le modifiche
  • cerca di costruire l'ultimo stato del codice di base + questo shelveset &
  • Se tutto riesce, shelveset viene commesso nel repository

Per impostazione predefinita, TFS tornerà spazio di lavoro dello sviluppatore nell'ultimo checke d in durante questa operazione. Questo può essere modificato con il seguente:
enter image description here

In questo modo, lo sviluppatore può continuare a lavorare direttamente, ma una volta che la compilazione è finita possono sorgere conflitti & durante la riconciliazione dell'area di lavoro locale.

In generale, le build gate devono durare il meno possibile. Se questo principio viene mantenuto, il modo migliore per procedere è evitare di impostare l'opzione "Preserve" .
Se la Build dura più a lungo di -say- 5 min, potrebbe valerne la pena.

Una descrizione molto bella della funzionalità di Checked Gated può essere trovata nell'articolo this di P.Carnahan.