2010-08-19 44 views
12
  1. đầu tiên tôi có một tên tập tin readme
  2. sau đó tôi thay đổi nó để Readme
  3. cam
  4. đẩy

ok vấn đề là có hai tập tin: readme và READMEva chạm HG vụ va chạm gấp?

làm thế nào để tôi xóa readme trên kho lưu trữ?

khi tôi cập nhật tôi nhận được lỗi này hủy bỏ: trường gấp va chạm giữa readme và README

+0

Có thể trùng lặp của [Giải quyết trường hợp Mercurial-Folding Collision trong Windows] (https://stackoverflow.com/questions/10531853/resolving-mercurial-case-folding-collision-in-windows) – DaveInCaz

Trả lời

14

Mercurial có thể xử lý tên tập tin trong cùng thư mục chỉ khác nhau về trường hợp của họ trong kho của nó (.hg thư mục ở phía trên mức repo của bạn). Trong trường hợp hệ thống tệp nhạy cảm (phần lớn là trên Unix), nó cũng có thể xử lý các tệp đó trong thư mục làm việc. Tuy nhiên, trên các hệ thống chỉ đơn giản là case-retentive hệ điều hành không cho phép bạn có hai tệp trong cùng một thư mục chỉ khác nhau theo từng trường hợp và Mercurial cảnh báo bạn về điều đó (như bạn đã thấy).

Để làm việc xung quanh giới hạn này của hệ điều hành, hãy kiểm tra bản sao của bạn trên hệ thống tệp phân biệt chữ hoa chữ thường, xóa tệp và sau đó commit/push. Vì vậy, miễn là các cửa sổ mọi người không phải là hg updating để sửa đổi có va chạm họ sẽ không sao (vì nó không sao trong kho lưu trữ chỉ không có trong thư mục làm việc của họ).

+0

thanks :) btw checkout your sao chép trên một hệ thống tập tin nhạy cảm? –

+0

hệ thống tệp phân biệt chữ hoa chữ thường = Linux/BSD – Vlad

+7

Không phải là giải pháp thực tế ... – Justin

1

Câu hỏi này là một bản sao của và có thể được xếp vào Resolving Mercurial Case-Folding Collision in Windows

Tôi đồng ý với những nhận xét đó mà yêu cầu ai đó làm việc trong một hệ thống trường hợp tập tin nhạy cảm là một chút vụng về, ngay cả với Cygwin. Các giải pháp sạch giả hai tập tin và có vẻ là:

  1. hg trở lại đứng đầu chi nhánh phải được sáp nhập có
  2. hg loại bỏ // sau đó cam kết vv
  3. kiểm tra lịch sử tập tin trên. Có thể là một số bổ sung được sai thực hiện cho các tập tin đổi tên
  4. Nếu vậy, tự thêm những thay đổi đó để
0

Nếu nó là một đổi tên, thats như abc.txt chuyển đến Abc.txt

Will công việc sau đây?

Lấy một bản vá, Kiểm tra mã mới, Áp dụng bản vá trên đầu trang của nó. rồi cam kết n đẩy

1

Giả sử bạn muốn readme là README.

hg mv readme foofile 
hg mv foofile README 

Thực hiện việc này và cam kết những thay đổi này và repo sẽ có thể sử dụng lại.

0

Tôi gặp vấn đề này khi vụ va chạm xảy ra khi tôi thực hiện Update cho một bản sửa đổi cụ thể. Bản sửa đổi được đề cập là một cam kết được thực hiện cụ thể để giải quyết một vụ va chạm gấp nếp khi tôi đổi tên tệp. Thật không may, Mercurial sẽ không cho phép tôi Update vào bản sửa đổi.

Tuy nhiên, tôi vẫn có thể Update để sửa đổi trước và sau đó. Vì vậy, nếu bạn gặp phải sự cố này trên Windows (hoặc hệ thống tệp không phân biệt chữ hoa chữ thường) trong khi chỉ cần Update nhập vào bản sửa đổi cụ thể, bạn có thể bỏ qua sửa đổi vấn đề bằng cách Update nhập vào trước hoặc sau phiên bản đó.

Các vấn đề liên quan