2012-10-31 9 views
7

Podobne pytania zadawano wcześniej (np. this), ale odpowiedzi nie rozwiązały tego dla mnie. Plik moich autorów wygląda następująco:SVN do migracji Git - niezdefiniowany autor, ale jest to

cmannett85 = cmannett85 <[email protected]###> 
cbamber85 = cmannett85 <[email protected]###> 
www-data = cmannett85 <[email protected]###> 

A błąd, który otrzymuję, to;

Ten błąd występuje przy około 1500-szym zatwierdzeniu, a inne wpisy w autorze są w porządku, więc podstawowa struktura wpisów musi być poprawna. Większość problemów, które już widziałem na SO, koncentruje się wokół nazw użytkowników SVN, które mają do nich dołączone spacje, ale jak widać z wklejonego błędu - nie ma żadnej białej przestrzeni.

Pomyślałem także, że może to być, że mapuję jedną nazwę użytkownika na identyczną, więc zmieniłem nazwę użytkownika Git, ale nie robiło to różnicy. Próbowałem nawet przełączać kończenie linii między formatami Windows i Unix, ale znowu nie zmieniłem.

przywołuję tę operację przy użyciu:

$ git svn clone https://subversion.assembla.com/svn/#### --authors-file=users.txt --no-metadata -s #### 

Próbowałem usunięcie --no-metadata Arg, ale nie ma różnicy. Czy ktoś może zobaczyć, gdzie popełniłem błąd?

UPDATE

Za radą Lazy Badger za pobiegłem:

$ svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /' 

I to wraca to:

<author>cbamber85</author> 
<author>cmannett85</author> 
<author>www-data</author> 
+0

Występuję dokładnie w tym samym numerze. Jakieś nowe pomysły? (uruchomiony na windows maschine, git w wersji 1.8.3.msysgit.0) –

Odpowiedz

2

jestem pewien - przygotowanie przez użytkownika lista z czystego SVN -data przed sklonowaniem będzie bardziej kuloodporny sposób

Czyli coś jak:

svn log --xml URL | grep "author" | sort -u | ...strip xml-tags here... 
+0

Dzięki, uspokoiłem to, nie oszalałem, ale nie ujawniłem problemu. Zobacz moją aktualizację. – cmannett85

+1

@ cmannett85 - z pomysłów ... jeśli możesz wykryć, która wersja jest (jest) problematyczna, proponuję to. W przypadku hg użyję częściowego clone i pull-r przez małe serie (nie wiem nic o możliwościach git svn) –

2

Chyba znalazłem problem i rozwiązanie:

Moja author.txt został zakodowany jako UCS2 Little Endian po konwersji do ANSI rozmiar pliku spadł do 50% i zadziałało.

Rozmiar pliku spadł z 70KB do 35KB, ale nie sądzę, że to jest rozwiązanie.

Mój author.txt został utworzony za pomocą skryptu powershell z Windows Active Directory.

Ja również zmienił line-końców z CR LF do LF, ale trzeba wspomnieć, że już próbowałem, też. Sądzę więc, że jest to problem z kodowaniem characktera.

+0

zmiana kodowania i zakończenia linii nie zrobiły dla mnie różnicy :( – Toby

2

Właśnie napotkałem ten sam problem, co opisany tutaj i okazało się, że tworząc nowy plik .txt właśnie w Notatniku ++ (oryginalny plik autorów został wygenerowany przez polecenie powershell, które znalazłem gdzie indziej), a następnie skopiowałem zawartość oryginalnego pliku do nowego pliku .txt, pobieranie zadziałało.

Włącza oryginalny plik został zakodowany jako UCS-2 Little Endian (jak wyżej), ale domyślne kodowanie UTF-8 działa. Nie musiałem zmieniać końcówek linii.

4

Natknęłam się na to pytanie i zakończyłam rozwiązywanie problemu, usuwając znacznik kolejności bajtów z pliku authors.txt zakodowanego w pliku UTF-8, dzięki czemu Linux zobaczy go jako plik ASCII w formacie zwykłego tekstu zamiast UTF-8 .

Ponieważ mój plik zaczął działać w systemie Windows w postaci danych wyjściowych Powershell, bardziej ogólna poprawna odpowiedź brzmi, że prosty tekst nigdy nie jest prostym tekstem, który sprawia, że ​​odpowiedź Lazy'ego Badgera jest najlepsza, ponieważ pozwala uniknąć bólów głowy związanych z tapetowaniem tych różnic.

+0

Nie daje to odpowiedzi Aby skrytykować lub poprosić o wyjaśnienie od autora, pozostaw komentarz pod swoim postem - zawsze możesz komentować swoje posty, a gdy już będziesz mieć wystarczającą [reputację] (http://stackoverflow.com/help/whats-reputation) będziesz mógł [komentować dowolny wpis] (http://stackoverflow.com/help/privileges/comment) – AdamMc331

+0

Zapytam o to - przesłałem odpowiedź, ponieważ nie każdy może łatwo odtworzyć oryginalny plik, a to może warto wiedzieć DLACZEGO odpowiedź Lazy'ego Badgera działa. Czy to nie kwalifikuje się jako wystarczająca treść do oddzielnej odpowiedzi? – user4388759

+0

Rozumiem, skąd pochodzisz, ale kiedy zobaczyłem to w kolejce do przeglądu (ktoś inny to zgłosił) sądzę, że tak dlatego, że twoja odpowiedź może również zostać uznana za komentarz, ponieważ sugerujesz i polecasz inną odpowiedź. Jeśli to ja, (zakładając, że mam przedstawiciela do komentowania), skomentowałbym tylko inną odpowiedź, a nawet pytanie o to, co zrobiłeś dla ciebie. – AdamMc331

Powiązane problemy