Gestione del codice condiviso nel controllo del codice sorgente

2

I progetti A e B utilizzano entrambi il progetto di libreria L:

Agiudicaredaciòchelepersonehannoscrittosudiessosulweb,gestirequestasituazionesembraessereunmalditesta:

link perché non dovresti usare i sottorepos Mercurial

Ci sono soluzioni là fuori che evitano difficoltà come:

• Perdere lavoro perché il VCS ha fatto qualcosa di inaspettato • Il subrepo infernale si unisce
• Errori causati dal VCS che punta a una versione inaspettata del sottomodulo,
spesso peggiorato perché l'utente non si rendeva conto che era successo

    
posta William Jockusch 10.10.2014 - 17:25
fonte

1 risposta

1

Non c'è assolutamente alcun motivo per evitare git submodule ; funziona lontano meglio della maggior parte delle "soluzioni" alternative. Basta che lo script di costruzione asserisca (ma non modifichi; per risolvere il problema 1) che il sottomodulo sia presente e aggiornato (risolve il problema 3), e solo apporta modifiche al sottomodulo come proprio repo, not come se facesse parte del repository principale (risolve il problema 2). Lo ripeto: apporta solo modifiche al sottomodulo come proprio repository.

Inoltre, le versioni recenti di git forniscono git submodule update --remote per estrarre automaticamente l'ultima versione dal ramo che stai monitorando.

Supponendo che non stai ignorando completamente il comando git più importante di tutti i tempi, git status (il cui output è incluso anche nell'editor quando si esegue git commit ), non si avranno problemi.

Ovviamente, se stai usando un frontend GUI, probabilmente è una schifezza, ma è vero che stai usando i submoduli o meno.

    
risposta data 11.10.2014 - 04:35
fonte

Leggi altre domande sui tag