2013-11-15 12 views
6

Ho lavorato con Team Foundation Server 2012 per ottenere una build di integrazione continua per un progetto di data warehouse funzionante. In tal modo ho notato che l'etichettatura e la costruzione di un'etichetta non hanno prodotto i risultati che mi aspettavo. Nella ricerca del problema sono riuscito a replicare il problema utilizzando solo gli argomenti della riga di comando forniti dagli strumenti della riga di comando di Team Foundation Servers. Questo mi ha aiutato ad eliminare qualsiasi cosa nella definizione build che potrebbe aver influito sulla build.Incoerenza etichetta TFS

Quindi questo è il mio problema: Ho una build che sta creando 2 diversi progetti in una singola build. Fondamentalmente ha due file * .SLN ad esso associati. Ho applicato un'etichetta a 2 beni, uno in ciascun progetto. Posso quindi eseguire il comando per visualizzare quali risorse hanno l'etichetta. Quando faccio ciò ottengo il risultato atteso. Tuttavia, quando eseguo il comando per ottenere le risorse associate a questa etichetta, viene estratto solo uno dei due file. Ho verificato che posso estrarre entrambi i file rimuovendo uno dei progetti. Questa è la configurazione che ho con la definizione di compilazione, lo spazio di lavoro e l'etichetta

TFS Percorsi:
$/Dev/Project1
$/Dev/Project2

mappatura dello spazio di lavoro
Project1: C:/SourceControl/Project1
Progetto2: C:/SourceControl/Project2

DeploymentFolder
Progetto1: // devserver/SSIS/Project1
Progetto2: // devserver/SSIS/Project2

eseguiti i comandi:
Applicare Label:
etichetta tf TestLabel $/dev/Project1 /PackageA.dtsx
etichetta tf TestLabel $/dev/Project2/PackageA.dtsx

recensione etichetta: laboratorio
tf els/Formato: dettagliata LTestLabel

ottenere da Etichetta:
tf get/r/Versione: LTestLabel

Dopo l'esecuzione del comando tf ottenere ottengo i seguenti risultati

Cartella di distribuzione: // DevServer/SSIS/Project1 contiene il file PackageA.dtsx
Deployment folder: // DevServer/SSIS/Project2 contiene 0 file.

Sembra che ci sia un filtro o una limitazione sul prelievo di risorse in diversi progetti con la stessa etichetta. Mi aspetto che se applico un'etichetta su qualsiasi asset in TFS, quindi estraggo le etichette, dovrebbe consentirmi di recuperare tutte le risorse con quell'etichetta applicata. Qualcuno ha sentito o sperimentato questo? Qualsiasi aiuto fornito sarebbe apprezzato.

risposta

2

Non si specifica che cosa (locale) la cartella si è in quando si esegue il get: dal momento che non si specifica una cartella per ottenere, implica quella attuale, equivalente a:

tf get /recursive /version:Llabelname . 

Se si desidera ottenere entrambi, specificare una directory contenente sia, ad esempio:

tf get /recursive /version:Llabelname $/ 

Questo, naturalmente, presuppone che entrambi i file nella vostra etichetta sono mappati.