Quando provo a creare utilizzando TFS con Git, c'è una limitazione per cui il provider git di TFS non supporta ancora i sottomoduli. Un po 'di dolore, ma che diamine, sono in grado di dire a TFS di eseguire un file Batch prima della compilazione. Ho usato questo per chiamare uno script git manuale per aggiornare tutti i miei sottomoduli nel mio progetto "super".Il sottomodulo Git non funziona su TFS Build
Il comando questo file batch viene eseguito è semplicemente: update modulo git --init --recursive
Questo ha funzionato bene e dandy, prima ho migrato la fonte modulo a TFS, ma ora la build TFS sta fallendo, perché lo script del modulo git sopra non funziona più.
Quindi, cosa fa TFS prima di una compilazione Estrae le origini correnti da Git in una cartella sul build server, a cui ho accesso.
Se apro Git Bash a questa cartella ed eseguire il seguente comando (s): git init modulo git aggiornamento modulo
ottengo il seguente errore, e non riesco a capire per la vita di io quello che è. Ho provato a cercare questo errore specifico che generalmente indica che un commit del submodule viene inviato dopo che il repository "super project" è stato premuto. Ma posso verificare che tutto il sottomodulo commetta i push & PRIMA che il "super project" esegua il commit &. Ecco l'output dei comandi git TFS:
[email protected] /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$ git submodule init
[email protected] /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$ git submodule update
Username for 'http://tfs:8080': james
Password for 'http://[email protected]:8080': <password>
From http://TFS:8080/TFS/Technique/_git/Technique%20Library
* branch HEAD -> FETCH_HEAD
fatal: reference is not a tree: 33106ea146d470159e327c1b2d623d14f522cdd4
Unable to checkout '33106ea146d470159e327c1b2d623d14f522cdd4' in submodule path 'calc-engine'
[email protected] /C/Builds/1/Technique Webs/MIS Console 5.2 Development/src (5.2development)
$
Sembra che qualcuno abbia dimenticato di inviare le modifiche al sottomodulo. – springy76
Anche se sembra così purtroppo non lo è - vedi il mio commento "... Posso verificare che tutto il sottomodulo commette e spinge vengono eseguiti PRIMA che il" super progetto "commetta e spinga sia fatto" Altre idee? – abbottdev
Hai mai risolto questo? Sto incontrando lo stesso errore. – Quantumplation