2009-05-21 5 views
19

Próbuję sklonować lokalne repozytorium mercurial w oknach.Błąd "fałdy w kopertach" próbujący sklonować mercurial repo

otrzymuję ten błąd:

C:\temp\toolkit1.1>hg clone \src\toolkit 
    destination directory: toolkit 
    updating working directory 
    abort: case-folding collision between sdk/Api.h and sdk/api.h 

Wygląda Zmieniłem kapitalizacji API.H w pewnym momencie, ale nie wiem, jak rozwiązać ten problem. Jakieś wskazówki?

używam wersji 1.2.1

Odpowiedz

16

Jest to problem, który czasami występuje podczas pracy z Mercurial repozytorium w systemie plików bez uwzględniania wielkości liter (Windows). Zobacz Fixing Case Collisions na wiki Mercurial.

Prawdopodobnie najłatwiej jest, jeśli masz dostęp do komputera Unixa, sprawdź projekt tam i usuń plik naruszający prawa, najpierw scalając zmiany (jeśli są), a następnie zatwierdz i pchnij.

+4

Dla zapewnienia kompletności: kolizje-kopie mogą wystąpić w systemach Linux/Unix, jeśli plik w repozynie zostanie zmieniony z np. Api.h do api.h. Wszyscy krzyczą w systemie Windows, ale przytrafiło mi się to na komputerze Mac, bez systemu Windows w pobliżu. – frnhr

+2

To dlatego, że mac, tak samo jak okna, mimo że jest systemem uniksowym, nadal nie uwzględnia wielkości znaków ............. – Flatline

+0

Na wypadek, gdyby ktoś zrobił błędne założenie z komentarza @ Cek: zmiana w przypadku w przeciwnym kierunku, tj. api do Api, również spowoduje problemy –

4

Naprawiłem to, zmieniając nazwę pliku w oknach na Api.h.old. Popełniając to. Następnie zmień nazwę na Api.h z poprawioną wielkością liter. Ponownie popełnić.

Następnie klon działał.

Powiązane problemy