2009-09-17 15 views
38

Come per la maggior parte delle cose in TFS si ottiene più di quanto si aspettasse. In questo caso sto vedendo più modifiche ai file durante l'unione di quanto mi aspettassi.In TFS, come posso fare un'unione senza fondamento su specifici changeset?

Ho due rami figlio, che possono essere eccitanti e chiamarli branch1 e branch2. Entrambi hanno apportato modifiche a loro da quando sono stati creati. Devo prendere 12 changeset specifici da branch2 e unirli a branch1. Le modifiche da branch2 non possono tornare al ramo padre. Quindi è un caso semplice per una fusione senza fondamento, ma i risultati non sono quelli che mi aspettavo.

Prendendo il primo changeset ho eseguito il seguente comando:

tf merge /baseless /recursive /version:C95654 branch2 branch1 

Changeset 95.654 contiene 12 file modificati, ma dopo questo comando ottengo 56 file modificati con conflitti. Mi aspettavo di unire solo il changeset specificato da un ramo all'altro, ma sembra aver unito l'intera cartella.

Quindi perché ottengo 56 file modificati anziché 12 quando ho specificato il changeset? Inoltre, cosa posso fare per limitare ciò che viene unito ai soli contenuti di quel changeset?

risposta

56

Se avete bisogno di unire un changeset specifica è necessario utilizzare la seguente dichiarazione:

tf merge /baseless /recursive /version:C95654~C95654 branch2 branch1 

(serve soltanto nel changeset C95654).

La riga di comando che si sta utilizzando indica ogni changeset prima e con C95654.

+0

E 'possibile che faccio una fusione senza fondamento, ma non ottengo Branch1 codice (target) ?, –

1

Ho dovuto utilizzare i percorsi TFS per i due rami. I passaggi erano: aggiungi entrambi i rami allo spazio di lavoro desiderato; ottenere l'ultima; aprire un powershell di Windows nella cartella di destinazione. Ottieni percorsi TFS

>tf workspaces /format:detailed 
>tf workfold 

Quindi utilizzare $ percorsi per i rami. Lo stesso numero di changeset tra la fusione baseless della tilde ment per un changeset.

>tf merge /baseless /recursive /version:C999~C999 "$/MyRepo/Current" "$/MyRepo/Development" 

Maggiori informazioni qui - http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx

+0

+1 per questo: "aggiungi entrambi i rami al spazio di lavoro desiderato " –

Problemi correlati