ho creato un file batch veloce, ma è necessario disporre di Team Foundation Power Tools (tfpt.exe) nel vostro percorso e per (un comando di riga di comando loop)
visivo linea Studio di comando per la cartella desiderata git ed esegui quanto segue.
git log --pretty="'%%H',%%ci - %%s" --reverse > commits
tf workspace temp /new /s:http://{TfsInstance} /i
tf workfold /map %2 . /workspace:temp
FOR /F "tokens=1* delims=','" %%a IN (commits) DO git checkout %%a && tfpt online /recursive /exclude:.git*,commits,*.obj,*.exe,_ReSharper*,obj,debug,*.user,*.suo,Bin /adds /deletes /i && tf checkin /author:"{AuthorName}" /comment:"%%b" /i
tf workspace temp /delete /i
- In primo luogo si crea un file impegna con tutte le informazioni impegnarsi in ordine inverso (dal meno recente).
- Poi si crea uno spazio di lavoro di Team Foundation ... (assicuratevi di sostituire
{TtsInstance}
con il TFS URI.
- Poi si crea una cartella temporanea nell'area di lavoro.
- Poi loop attraverso ogni riga nel file commit , fa un checkout da git, usa TFPT per archiviare i file correnti (di nuovo assicurati di sostituire
{AuthorName}
con il tuo nome dell'autore) il commento includerà il timestamp da git (purtroppo non puoi cambiare l'ora di registrazione senza cambiare il tempo del server TFS e lo consiglierei contro) e il nome dell'autore originale
T il suo ha funzionato bene, ma i rami non saranno perservati. Non ho avuto il tempo di capire la ramificazione visto che non era un fattore abbastanza grande per il lavoro in quel momento.
Speriamo che questo possa salvare qualcuno un po 'di tempo!
Perché diavolo qualcuno si sposta da git a tfs? – hasen
Due parole: migliore strumentazione. Lo so che git ha un sacco di hype. E lo stesso signor Torwalds ne ha scritto una parte, ma interagendo con questa cosa SUCCHIA. L'ho usato per 19 mesi, l'ho presentato alla squadra e non lo considero un proiettile d'argento. Tutti gli strumenti dell'interfaccia utente sono zoppi. L'interfaccia della riga di comando è dettagliata. Ho il set di script per supportare il mio flusso di lavoro, ma non è una soluzione di cui essere orgoglioso. Plus TFS è più del controllo della sorgente. È una soluzione complessa: bug tracker, sistema di compilazione, integrazione VS, sito SP per nessuno sviluppatori per osservare il processo e inviare bug, ecc. –
Le estensioni di Git https://code.google.com/p/gitextensions/ stanno rapidamente facendo Il commento di Artem è obsoleto. Un'interfaccia utente molto più bella rispetto alle interfacce utente in bundle. –