Tôi gặp sự cố này nhưng sử dụng hệ thống * nix không phải là một tùy chọn. Tôi đã có thể giải quyết nó sau these instructions.
Trên Windows, hiện tại (trước Mercurial 1.1) có thể giới thiệu các vụ va chạm trong trường hợp ngăn bạn kiểm tra kho lưu trữ.
Một cách để sửa chữa kho lưu trữ như vậy là kiểm tra nó trên một hệ thống Unix phân biệt chữ hoa chữ thường, xóa tệp có vấn đề và cam kết lại.
Nếu đó là không thể, bạn có thể làm như sau:
hg clone --noupdate repo repair
cd repair
hg debugsetparents <bad revision>
hg debugrebuildstate
Tại thời điểm này, Mercurial sẽ nghĩ rằng bạn có phiên bản xấu kiểm tra ra và tất cả các file bị thiếu (tình trạng '!'). Để khắc phục repo, chúng tôi chỉ cần thực hiện:
hg remove --after <file causing the collision>
Hiện trạng hg sẽ hiển thị tệp phiền toái trong trạng thái 'R' và tất cả các tệp khác trong trạng thái '!'.Bây giờ chúng ta có thể kiểm tra trong sửa chữa của chúng tôi:
hg commit --message "fix case collision"
Để có được tất cả các file của chúng tôi trở lại, chúng tôi chỉ kiểm tra một lần nữa:
hg update tip
tham khảo: https://www.mercurial-scm.org/pipermail/mercurial/2008-June/019921.html
Nguồn
2014-07-16 19:05:59
Bạn có thể cài đặt Linux trong máy ảo, ví dụ: VirtualBox có cài đặt Ubuntu. –
Thats rất nhiều công việc để giải quyết một vấn đề đã được gây ra bởi một nhiệm vụ tầm thường như đổi tên một tập tin! – reach4thelasers
Theo như tôi biết các phiên bản gần đây của Mercurial nên có các biện pháp bảo vệ tích hợp chống va chạm gấp ... –