Qualcuno sa se questo (generando un diff unificato) è possibile e se sì, come?Unified Diff in TFS
Grazie.
Qualcuno sa se questo (generando un diff unificato) è possibile e se sì, come?Unified Diff in TFS
Grazie.
È tf diff /shelveset:<set> /format:unified
. Tuttavia, si noti che a differenza della maggior parte dei moderni sistemi di controllo delle versioni, TFS non può effettivamente funzionare con i file di patch afaik. Cioè, non puoi prendere il risultato del diff e applicarlo a un set di file per ottenere le modifiche risultanti. (Quello che fa la maggior parte delle persone è comprimere i file che sono cambiati e sostituirli come "patch". Ick.)
John, sapresti come inviare i risultati a un diff strumento piuttosto che alla finestra di comando? Ho scoperto per caso che fare/opzioni :? andrebbe al mio strumento di fusione di default (TortoiseMerge.exe) in assenza di un/format: opzione unificata, ma non ho potuto farlo andare lì con l'opzione unificata su. Inoltre, posso vedere solo i miei scaffali - vorrei vedere tutti gli scaffali per il team - è possibile, o devo eseguire tf.exe dal server? – sydneyos
perfetto - grazie.per gli altri come me che potrebbero non sapere, tf.exe è qui (a meno che tu non abbia installato da qualche altra parte) - C: \ Programmi \ Microsoft Visual Studio 9.0 \ Common7 \ IDE. Ecco un riferimento: http://tutorial.visualstudioteamsystem.com/details.aspx?item=38. – sydneyos
Ho capito come ottenere questo output in un file .diff. Digita il comando: "tf diff/format: unified [/ shelfet:
Questa è una funzione ricorrente diff (pardon the pun) con SubVersion e altri, ovvero recognised by Microsoft. Credo che appare una soluzione al più presto, ma fino ad allora sono venuto su con una soluzione:
costruire un'applicazione Windows Form che avrà 4 campi come parametri della riga di comando (filepath1, label1, filepath2, Label2) e restituisce una stringa unificata diff dei due file (può essere esportata in una casella di testo rich o qualcosa del genere). Ne ho uno, ma è un po 'difficile da accettare su CodePlex, credo. Ci sono alcune librerie Diff gestite.
Impostare il controllo del codice sorgente di Visual Studio per confrontare la propria app. Assicurati che si apra e si confronti correttamente.
Creare un'applicazione patch di Windows, che applicherà la patch a una cartella. L'applicazione deve anche controllare ogni file come viene corretto (divertente!).
Imposta due spazi di lavoro, il solito e MyWkSpace_PATCH. Questo è usato per applicare patch.
Devo ancora terminare il punto 3, ma questo mi darà alcune funzionalità simili a SubVersion. Ti farò sapere come va il punto 3!
Questo è quello che faccio di solito:
generare un diff unificato da linea di comando tf per ottenere un file di patch
tf diff /recursive /format:unified . >> diff.patch
utility scaricare patch da http://gnuwin32.sourceforge.net/packages/patch.htm
Applicare patch con
patch.exe -p0 < diff.patch
Ovviamente ciò presuppone che i file di origine siano già stati estratti. Se non lo sono, specialmente quando si applicano patch tra rami, scrivere un semplice script di shell per passare attraverso il file diff, ottenere il percorso dei file e modificarli.
per il mio setup (windows 7, tfs 2013) creare una patch da tfs2013 è ok, ma l'utility patch non può applicare tali patch, a file simili. la risposta è "impossibile trovare il file da applicare alla riga di input 6 Forse hai usato l'opzione -p o --strip?" – ozkolonur
possibile duplicato di [Creazione di una patch con TFS] (http://stackoverflow.com/questions/52234/creating-a-patch-with-tfs) – sloth