Come combinare i repository git provenienti dallo stesso progetto originale svn


1

Ho due diversi repository git che sono iniziati come un clone dello stesso progetto svn. Naturalmente condividono una buona parte della storia. Hanno anche diversi cambiamenti.

Come posso "unirli" correttamente? Quale concetto git è appropriato per questo tipo di unione?

Considerando un readme.txtfile esistente in svn, si dovrebbe vedere che è stato biforcato e modificato in due rami (i due maestri dei progetti git) dopo di che è stato unito. È possibile?


chiarimenti:

Nel mio caso ho scoperto che namek-0.6 è identico a namek-0.6-second. L'albero a sinistra contiene una cronologia svn completa mentre quella a destra è iniziata con un primo commit da qualche istantanea di svn. Quello che vorrei è che tutti i file modificati nel namek-0.6 e successivi continueranno la cronologia sulle cose da sinistra.

due diversi repository git


1
Se ti sei convertito in Git due volte, ora hai due repository non correlati per quanto riguarda Git. Hanno solo contenuti simili. Ovviamente puoi unire questo, ma sarà un'unione a due vie.
Daniel B,

Sì, ho due repository indipendenti. Quindi mi suggerisci di usare un'unione con --allow-unrelated-history? Non è meglio scegliere ciliegie, rebase o altri tipi di operazioni? Stavo pensando che forse è sufficiente dire a git che due commit specifici rendono identici i rami e fanno in modo che git controlli l'equivalenza.
raisercostin,

Ogni operazione Git "normale" si basa sul fatto che esiste un antenato comune. Qualunque cosa tu faccia, ricadrà sempre in una fusione a due vie. IIRC puoi usare della magia oscura per associare due commit altrimenti indipendenti, ma ho lasciato quella conoscenza al mio precedente datore di lavoro.
Daniel B,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.