Sto lavorando a un progetto open source su GitHub.
Ha una sottodirectory / fornitore in cui ha una copia di diverse librerie esterne. Il manutentore originale del progetto ha aggiornato questa directory di tanto in tanto con una copia più recente della libreria esterna.
Uno sviluppatore mi invia una richiesta pull con l'idea di sostituire questa copia con git submodule .
E sto considerando se è una buona idea o no.
Pro del sottomodulo Git:
- I sottomoduli sono stati progettati specificamente per scenari simili
- Rimuove la possibilità di commit accidentale per il fornitore che verrà sovrascritto durante il prossimo aggiornamento
Contro del sottomodulo Git:
- Sembra che git submodules spinga la complessità dal manutentore a una persona che clonerà / tirerà il progetto (ulteriori passaggi richiesti dopo la clonazione per iniziare a lavorare con il progetto: "git submodule init", "git submodule update"
Qual è la tua opinione su questo?
Un'altra cosa. Questo problema è una libreria di dimensioni ragionevolmente ridotte con dipendenze esterne molto limitate. Penso che qualsiasi strumento di costruzione sarebbe eccessivo per ora.
git clone --recursive
e quindi non devono eseguire i comandi del sottomodulo. Nessun altro aveva menzionato questo bocconcino; la maggior parte delle persone che conosco che hanno sottomoduli pubblicizzano questo nel README.