ho importato un repository Bazaar in Git (usando git bzr
), ma il repository risultante contiene un link genitore spuria commettere:Rimuovere spuria commettere puntatore genitore
Si noti che il commit tagged 1.02-6
è basato il 1.02-3
commit, ma 1.02-1
viene inoltre contrassegnato come genitore. (Nota: Tutti i commit in questa parte del pronti contro termine sono contrassegnati, non ci sono commit tra quelli mostrati.)
ho provato rebasing in diversi modi (sul ramo master
: git rebase 1.02-3
, git rebase -i upstream-1.02
, git rebase --onto 1.02-1 1.02-3
, git rebase --root upstream-1.02 --onto=other_branch
) , ma in ogni caso fallisce con un conflitto di fusione. Questi sembrano tentare più del necessario; la cronologia è corretta eccetto per un puntatore genitore aggiuntivo registrato nel commit con tag 1.02-6
.
Come si rimuove il collegamento per linearizzare la cronologia? C'è un modo migliore rispetto alla selezione manuale di tutti i commit in sequenza?
È davvero "spurio"? Oppure c'erano correzioni di bug fatte a '1.02-1' che sono state unite in' 1.02-6' ma non sono state convertite in '1.02-3' (o sono state rese disponibili tramite un percorso diverso)? Non che abbia familiarità con 'bzr', e presumo che il grafico sopra sia semplificato solo per le versioni con tag (cioè ci sono altri commit/changeset tra di loro che non sono mostrati al momento). – twalberg
@twalberg: non semplificato. Questi sono tutti i commit. –
Potrebbe essere utile: http://git-scm.com/docs/git-commit-tree, 'git cat-file -p 1.02-6' –