Attualmente sto la creazione di un Team Foundation Server 2010 e ho trovato un comportamento molto strano quando si esegue una generazione:TFS2010 - di modifiche sbagliato che compare alla SourceGetVersion
La situazione ha spiegato: Abbiamo 2 Filiali
- sviluppo
- principali
Tutti gli sviluppatori check-in codice in solo il ramo di sviluppo. Una volta al giorno, il gestore di build unisce alcuni changeset al ramo principale. Sullo sviluppo, è in esecuzione una build continua ad ogni check in. Sul ramo principale, una volta al giorno (di notte) viene attivata una build.
Supponiamo ora che i gruppi di modifiche 1-100 vengano uniti nel ramo principale alle 17:00, fornendo il gruppo di modifiche 101 come operazione di unione. Alcuni sviluppatori controllano i changeset 102-106 dopo le 5 nella sezione Sviluppo. Ora alle 23:00, la build giornaliera viene automaticamente attivata e viene eseguita sul ramo principale. L'ultima di modifiche del ramo principale è changeset 101. Tuttavia, i dettagli Costruire mostra changeset 106:
potevo immaginare che questo comportamento è destinato, perché se si estrae changeset 106 sul ramo principale, in effetti otterrai il contenuto del changeset 101. Ma sarebbe molto più leggibile se questo riepilogo di Build mostrasse il numero corretto.
Domanda 1: Esiste un modo per manipolare l'output delle informazioni SourceGetVersion? Forse attraverso il modello di processo di costruzione?
Il secondo scenario, in cui il TFS si comporta in modo strano è ancora peggio: Quando la coda una nuova build, v'è la possibilità di inserire il parametro "Acquista ora", come mostrato nella figura seguente:
Se ora clicco su "coda", la build viene attivato e di nuovo dettaglio accumulo emette il changeset 106 anche se ho impostato appositamente per ottenere changeset 76.
domanda 2: si tratta di un bug? C'è un hotfix o qualcosa per risolvere questo problema? O c'è qualche indicatore di opzione che deve essere impostato?
Spero che qualcuno ne sappia di più. Non credo davvero che questo sia un bug, perché è una funzionalità così vitale che altre persone devono averlo incontrato prima.
Grazie per qualsiasi aiuto !! Christian
EDIT 1
La struttura delle cartelle del progetto Team è:
$ ProjectName
- BuildProcessTemplates
- Documentazione
- SourceCode
- Sviluppo < - questo è un ramo
- 3rdParty
- Fonte
- principale < - questo è un ramo
- 3rdParty
- Fonte
- Sviluppo < - questo è un ramo
La build tira solo il ramo Principale e tutto quello che si trova sotto.
EDIT 2
Ecco una foto della scheda Area di lavoro nella definizione di compilazione:
1) È possibile fornire ulteriori dettagli sulla "modifica della proprietà SourceGetVersion"? Che cosa vuoi fare? 2) Al momento non ho accesso al codice sorgente per vedere cosa è successo in questo scenario, ma la build ottiene la versione corretta e mostra il numero di changeset "sbagliato", oppure la build ottiene la versione sbagliata? –
@DuatLe - Manipolando intendo cambiare il numero che emette, cioè sostituire la "copia innescata di ... per il changeset 106" con "... per il changeset 101". Il codice sorgente in realtà scaricato sembra essere corretto. Sta solo mostrando quello sbagliato. All'interno del database sul server TFS, memorizza anche le informazioni sul changeset errate. – Christian
La tua build tira solo il ramo Main dal controllo del codice sorgente o Main e Development? –