Lavoro per un'azienda che costruisce sistemi embedded utilizzando Linux. Storicamente abbiamo sempre usato CVS per archiviare il nostro lavoro sul kernel. I nostri kernel finiscono per essere una raccolta di:Flusso di lavoro Git per lo sviluppo del kernel Linux aziendale
- driver per il nostro hardware proprietario
- correzioni casuali per i bit di Linux che usiamo
- driver hardware non-proprietarie
- casuali hack yukky di adattare Linux per la nostra applicazione
Siamo al punto in cui vorremmo rebase alcuni dei nostri vecchi kernel sulle versioni più recenti e sistemare il nostro flusso di lavoro CVS arcaico a qualcosa basato su changeset. La scelta ovvia è git.
Sto lottando per ottenere un flusso di lavoro ragionevole. Ho esportato il nostro repository CVS per uno dei nostri kernel e ho una collezione di changeset in cima al kernel base di Linus appropriato. Dove vado da qui?
Mi piacerebbe avere un repository centrale su cui tutti gli sviluppatori eseguono il commit delle modifiche. È sicuro usare rebase per spostare la nostra collezione di changeset in una nuova revisione del kernel di base e poi fare in modo che i nostri sviluppi vengano portati in cima al nuovo ramo centrale?
Punti bonus per ottenere un flusso di lavoro che ci consenta di separare facilmente le modifiche che potrebbero essere idonee a monte. Sono stufo di spingere una serie di piccole (o minuscole) modifiche generalmente utili in avanti in ogni momento.