responsabilità
Questa risposta non è intesa come esauriente e dettagliato libro di testo illustrato dalla serie "... per Dummies", può contenere le conclusioni sbagliate da ipotesi errate e implica la capacità del lettore di leggere e comprendere la documentazione
Prefazione
La soluzione proposta si basa sui seguenti presupposti:
- core e ogni plug-in sono progetti indipendenti separati
- ogni versione contiene un insieme arbitrario predefinito (in grado di variare da versione a versione) di singoli componenti della versione strettamente definita
Soluzione
Nella soluzione suggerita prevista e suggerito l'uso di tali opportunità di SVN, come:
Ciascun componente fornirà il proprio posizionamento: in può essere repository separato o percorso predefinito all'interno del repository comune. In ogni caso la soluzione consiste solo di collegamenti svn: componenti esterni esterni. Per ogni Componente (previo accordo) l'URL dello stato stabile è determinato e fissato per la durata dello sviluppo.
Nelle condizioni di cui sopra, per semplificare la notazione e la comprensione del flusso di lavoro in futuro, utilizzare il seguente preset:
- Ogni componente ha il proprio repository
- Il punto stabile di ciascun componente è il trunk del repository
- Il Repository of Solution di seguito ha nome
SuperRepo
(al contrario di repository di Components, che hanno Repo/somestring/
name)
Con la presente, il nostro compito è: costruire Repo * per i componenti, compilare SuperRepo dopo di esso, dove ogni cartella è collegata al tronco del repository, revisione HEAD (non usiamo le revisioni PEG nello sviluppo di tutti i giorni).
Dopo lo sviluppo di questi passaggi continua nel solito modo, per ogni WIP per i componenti possiamo usare tutte le tecniche svn (ramificazione, tagging, unione)
Nel tempo di rilascio dobbiamo avere una mappa: quali componenti e versioni dei componenti dovrebbero (potrebbero) essere stati inclusi nella versione. La versione del componente può essere definita come numero di revisione (all'interno del componente repo) o come tag - non importa. Con questa mappa possiamo modificare il trunk di SuperRepo ( trunk! ) alle nostre esigenze (aggiungi-rimuovi elementi esterni, per usato nella release free release della release modificando la definizione esterna: aggiungendo PEG- revisione per il collegamento del trunk o modifica dell'URL al tag corrispondente) e tag il trunk lucido di SuperRepo per riferimento futuro. Esporta il tag dopo tutto per la pubblicazione
In questo modo ogni release avrà un insieme noto di componenti in stato noto e può essere facilmente assemblato come Lego