stiamo lavorando su "due" app Android molto simili; infatti, sono le stesse app con diverse grafiche e combinazioni di colori, una configurazione leggermente diversa e una o due attività uniche che non sono nell'altro progetto, ma la funzionalità è uguale al 95%.
il piano era di lavorare su un'app fino a quando non fosse il più completo possibile e quindi modificare le immagini e i file other / res (ource).
ovviamente non è così facile; stiamo ancora lavorando al codice condiviso e l'applicazione di patch dello stesso codice in diversi progetti (o repository) è, a mio parere, fuori discussione.
usiamo git ed eclipse.
c'è la "guida definitiva" sulla gestione di tale situazione?
i miei pensieri a riguardo:
tre repository
rep1 per i file unici di application1, rep2 per i file unici di application2 e rep3 per i file condivisi.
se c'è un modo per spingere i file in una cartella (la cartella del progetto) in diversi repository ... voglio dire, la clonazione di rep1 estrae automaticamente i file da rep1 AND rep3, e spingendo automaticamente spinge i file di nuovo nel rappresentante corretto ?
i miei compagni di squadra sono sospettosi; nessuno di noi conosce bene Git e abbiamo paura di passare troppo tempo a riparare i nostri errori di dcvs.
2 repository
se la prima opzione non è possibile, il nostro piano era di avere 2 repository. rep1 per l'app1 completa e la rep2 solo per i file specifici di rep2. uno script di compilazione sostituisce i file di app1 con quelli di app2. questo è un campo minato "di sovrascrittura accidentale" e non mi piace. ma finché non avremo una soluzione migliore, questa è la strada da percorrere.
eclipse
forse c'è qualche tipo di hack specifico per l'eclissi che renderebbe questo indolore?
(modifica) diramazione!?
Non ho alcuna esperienza con la ramificazione. ma questa è una possibile soluzione?
nota: questi sono progetti Android; Android richiede un layout di file specifico. per esempio. il nome e la struttura della cartella "res" è praticamente risolto. questo significa che ci sono directory che contengono file sia dipendenti dall'app che file condivisi. non so se git può gestirlo.