I importowane repozytorium Bazaar do Git (używając git bzr
), ale wynikające repozytorium zawiera fałszywe popełnienia odnośnik nadrzędny:Usuń nieprawdziwy popełnić nadrzędny wskaźnik
zauważyć, że commit oznaczone 1.02-6
opiera się wyłączyć 1.02-3
commit, ale 1.02-1
jest również niepotrzebnie oznaczony jako rodzic. (Uwaga: Wszystkie rewizje w tej części repo są oznaczone, nie ma commity między pokazanych).
Próbowałem przebazowania na kilka sposobów (na master
Branża: 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
) , ale w każdym przypadku kończy się to konfliktem. Wydaje się, że próbują więcej niż to konieczne; historia jest poprawna z wyjątkiem, aby dodatkowy znacznik nadrzędny był zapisywany w zatwierdzeniu oznaczonym 1.02-6
.
Jak usunąć link w celu linearyzacji historii? Czy istnieje lepszy sposób niż ręczne wybieranie wszystkich zatwierdzeń w sekwencji?
Czy to naprawdę „fałszywy”? Czy też zostały wprowadzone poprawki błędów do '1.02-1', które zostały połączone w' 1.02-6', ale nie zostały wprowadzone w '1.02-3' (lub zrobione tam przez inną ścieżkę)? Nie jest to znane z 'bzr' i zakładam, że powyższy wykres jest uproszczony tylko do oznaczonych wydań (tzn. Istnieją inne commity/changesets pomiędzy nimi, które po prostu nie są pokazywane w danym momencie). – twalberg
@twalberg: Nie uproszczony. To są wszystkie zobowiązania. –
Może być przydatny: http://git-scm.com/docs/git-commit-tree, 'git cat-file -p 1.02-6'' –