2012-05-29 12 views
5

Jak sklonować repozytorium Mercurial tak, że moja kopia robocza zawsze ma końca linii CRLF?Konwersja Mercurial UNIX Linia Zakończenia do Windows

Jest to podobne do tego pytania Problems configuring eol extension in Mercurial

Ale ja czegoś brakuje, że nie wydaje się działać na moim komputerze.

Jestem nowy Mercurial został za pomocą SVN (TortoiseSVN) przez kilka lat. Zainstalowałem TortoiseHG i pracuję z Brianem O'Sullivanem Książka Mercurial: The Definitive Guide.

Więc jedna z pierwszych rzeczy, jaką zrobiłem było sklonować jego próbki repozytorium na moim komputerze i okazało się, że plik miał LF zakończeń zamiast wersji systemu Windows CRLF.

Więc starałem się znaleźć opcji do obsługi tego jak ja w SVN.

Utworzono plik w formacie % USERPROFILE% \ Mercurial.ini z następującymi elementami.

[extensions] 
eol = 

Usunąłem repozytorium i ponownie je wypróbowałem. Bez zmiany.

Rozglądając się, zobaczyłem, że mogę potrzebować pliku .hgeol. Więc stworzył jedną w USERPROFILE% folderze % z

[patterns] 
** = native 

Usunięto i ponownie sklonować repozytorium, plik jeszcze LF raczej niż CRLF.

Następnie spróbowałem ponownie wstawić plik .hgeol do katalogu nadrzędnego repozytorium i na koniec umieścić polecenie w pliku Mercurial.ini. Próbowałem również zastąpienie natywnego z CRLF.

I musi być brakuje czegoś, ponieważ wydaje się, że powinno to być wszystko, czego potrzeba, aby zmusić go do pracy. Może brakuje mi tutaj koncepcji automatycznej konwersji takiej, jak zrobił to SVN.

Odpowiedz

6

Plik powinien być plikiem w katalogu głównym repozytorium, a nie w katalogu głównym nadrzędnego, ani w katalogu użytkownika, ani w pliku Mercurial.ini.

Aby dodać go do istniejącego klonu, prawdopodobnie należy najpierw usunąć istniejącą kopię roboczą przy pomocy hg update null (lub hg clone --noupdate). Następnie po dodaniu pliku .hgeol można odzyskać kopię roboczą za pomocą hg update, w którym to momencie rozpocznie się konwersja EOL.

Nie sądzę, można go dodawać bezpośrednio do klonów bez wcześniejszego popełnienia pliku do repozytorium.

+0

Dam temu spróbować dziś rano. –

+0

To zadziałało. Próbowałem umieścić plik .hgeol w katalogu roboczym, ale nie udało się go sklonować, ponieważ folder nie był pusty. Myślę, że to pomaga mi zrozumieć, ponieważ kiedy klonuję zmodyfikowany klon, otrzymuję oryginalne końcówki LF. Mówi mi to, że przegląda tylko folder .HG, szukając informacji i innoresów znajdujących się w folderze roboczym. To prawdopodobnie nie jest problem, ponieważ na moich własnych (firmowych) repozytoriach będziemy mieli opcje ustawione od zera. To tylko te, nad którymi nie sprawuję kontroli, i nie uwzględniłem tej opcji, że musiałbym to zrobić. –

Powiązane problemy