2010-10-11 16 views
12

alt textcome unire due changeset solo (TFS)

Vedete 162.489 e 162.990, Come posso unire?

+2

Non è chiaro cosa si vuole fare con questi changeset. Vuoi solo unire le modifiche in quei changeset a un altro ramo, ignorando tutte le altre modifiche? – Robaticus

+0

Vedere http://stackoverflow.com/a/22729936/67824 –

risposta

23

Suppongo di voler unire solo i due specifici changeset in un altro ramo.

Non è possibile unire più changeset in una volta sola, a meno che i changeset non siano in sequenza.

Utilizzando lo strumento da riga di comando tf si specifica un intervallo di versioni separando la versione con un carattere tilde.

tf merge /recursive /version:C162489~C162990 "$/SourceBranch" "$/TargetBranch" 

In questo caso apparirà anche i cambiamenti 162987 e 162.967.

Se si utilizza l'interfaccia utente in Visual Studio, la finestra di dialogo di unione impedirà di selezionare più singoli changeset a meno che non siano in sequenza.

per unire due gruppi di modifiche separati in un altro ramo si dovrà farlo in due fasi:
merge 162.489 e poi 162990 (iniziamo con la fusione il changeset più antico nel caso in cui entrambi i gruppi di modifiche contengono modifiche agli stessi file).

Quindi lo spazio di lavoro per il ramo di destinazione conterrà le modifiche per entrambi i gruppi di modifiche e ora è possibile effettuare il check-in dell'unione come un changeset nel ramo di destinazione.

+11

Un problema qui. Se unisci prima il 162489, NON puoi unire 162990 a meno che tu non abbia prima effettuato il check-in 162489. –

2

L'unione deve essere eseguita in modo successivo. Nel tuo caso la fusione di due changeset che non sono successivi non è sicura perché puoi perdere le modifiche che potrebbero essere apportate agli stessi file. Questo è il motivo per cui il client TFS non ti consente di farlo.

6

Prova questo

tf merge /recursive /version:C162489~C162489 "$/SourceBranch" "$/TargetBranch" 
tf merge /recursive /version:C162990~C162990 "$/SourceBranch" "$/TargetBranch" 

Se non si dispone di una modifica del codice conflitto in questi changeset TFS 2010 si fonderà unioni consecutivi.

+2

Mille grazie! Non sapevo che se volessi unire un solo set di scaffali, dovrei specificarlo anche come intervallo (se metto il set di mensole, sembra che unisca le modifiche accumulate). –