Nie mam pełnej odpowiedzi, ale ten błąd jest generowany przez git-svn.perl. (Odpowiednią ścieżką do kodu wydaje się być do_fetch -> make_log_entry -> find_extra_svn_parents -> lookup_svn_merge.) Ten kod wydaje się próbować spojrzeć na właściwość svn: mergeinfo svn merge commit, aby obliczyć wszystkie jej commity/oddziały macierzyste, w nadziei, że zamieniając to w miłe, wielorodzajowe zatwierdzenie scalania wewnątrz klona git. Jeśli ta funkcja rodzicielska nie powiedzie się, twoje zatwierdzenie nadal będzie pobierane do git; po prostu nie będzie mieć tych samych informacji o rodzicach, jak by nie było.
Do tej pory nie znalazłem żadnych poważnych problemów wynikających z tego błędu w moim bieżącym głównym przypadku użycia, który konwertuje repozytorium svn na git; git-svn był w stanie rozwiązać duże fuzje, które mają dla mnie znaczenie, a te błędy zdają się na razie ograniczać do pojedynczych frazesów lub starych gałęzi, na których mi już nie zależy.
Po drugie, wygląda na to, że w moim przypadku większość z tych błędów pochodzi z zatwierdzeń, w których svn:mergeinfo zostało zarejestrowane w tym, co interpretuję jako niewłaściwy poziom w svn. W repozytorium svn zwykle staramy się rejestrować svn: mergeinfo w katalogu głównym gałęzi, np. w svn/trunk, natomiast case git narzeka, że wydaje się dotyczyć mergeinfo, który jest dołączony do konkretnych podkatalogów branch, np. w svn/trunk/dir1. Nie jestem ekspertem od svn, ale moja obecna heurystyka jest taka, że jeśli masz dużo svn: mergeinfos, które nie znajdują się w głównym katalogu, może być coś nie tak z twoim repozytorium svn lub z procesem scalania. Jeśli to prawda, zrozumiałe jest, że git narzekałby. W moim własnym przypadku, myślę, że większość tych "dziwnych" zatwierdzeń modyfikuje svn: mergeinfo zarówno w katalogu głównym gałęzi (na przykład svn/trunk) , jak i na poziomie subdiru (na przykład svn/trunk/dir1); git zbiera wszystko, czego potrzebuje od poziomu root i rzuca pozornie nieszkodliwy błąd na poziomie subdir.
To powiedziawszy, niektórzy ludzie wydają się zgłaszać problemy w niektórych przypadkach, być może zwłaszcza, gdy rebasing in a git-svn repo where not all the branches were checked out.
Revmap to odwzorowanie między numerami poprawek zatwierdzenia Subversion (r123) i hasłami zatwierdzania Git (b389fe ...).Nie mam pojęcia, co oznacza ten błąd, poza tym, że widzę go dość regularnie i wydaje się łagodny. –
Myślę, że oznacza to, że historia wersji może nie zostać zachowana. – bancer