C'è un modo, a parte il controllo effettivo del commit parent, per determinare l'ID di commit SHA-1 di un sottomodulo basato su un ID di commit nel clone genitore? So che posso trovare lo SHA-1 attualmente associato con 'git submodule'.Come posso ottenere un ID commit associato al sottomodello git da un commit passato nel clone padre?
Ecco un esempio: Ho un clone con un singolo sottomodulo "foo" che è stato modificato più volte nell'ultimo mese. Ho un tag nel clone genitore di poche settimane chiamato 'released-1.2.3'. Voglio scoprire che cosa era lo SHA-1 associato di "pippo" per questo commit taggato. Potrei semplicemente controllare 'rilasciato-1.2.3' e usare git-submodule per vedere, ma mi chiedo se c'è un modo per farlo senza influenzare l'albero di lavoro, dato che voglio scriverlo.
Voglio farlo perché voglio creare uno script per fare una "diff" su tutte le modifiche all'interno di un sottomodulo tra due commit all'interno del repository principale - ad esempio "dimmi quali file sono stati modificati nel sottomodulo" foo "tra questi due si commettono nel genitore. "
Penso che questa sia la risposta che sto cercando - questo sembra restituire l'hash del sottomodulo per il commit genitore specificato. Grazie. Inoltre, commento idraulico notato - grazie. – meowsqueak
Per scoprire i sottomoduli con i loro hash con commit arbitrario: 'git ls-tree --full-tree -r commit | grep^160000'. Il grep è per la modalità utilizzata per i collegamenti del sottomodulo. –
@ S.ChristofferEliesen, aggiungi -r per trovare tutti i sottomoduli, non solo quelli in ./ –