2009-08-18 32 views
10

Khi cam kết thay đổi để Mercurial, nó có thể tự động phát hiện di chuyển/sao chép/đổi tên bằng cách sử dụng lệnhTortoiseHg Sao chép Similarity tính năng

hg addremove -similarity 100

Số sau tương tự chỉ ra như thế nào hai tập tin tương tự cần phải từ 0-100% cho mercurial để quyết định di chuyển, sao chép hoặc đổi tên thay vì chỉ là một tập tin mới.

Đây là một tính năng tuyệt vời. TortoiseHg có thể làm điều này không?

Trả lời

16

Có thể. Nếu bạn nhìn vào TortoiseHg manual bạn sẽ tìm thấy phần 4.12 mang tên "Đổi tên Đoán". Trích dẫn:

  1. Chọn một hoặc nhiều Unrevisioned tập tin
  2. Trượt thanh tương tự (tối thiểu tương đồng Tỷ) cho phù hợp với tỷ lệ phần trăm bạn muốn
  3. Nhấn hoặc Tìm Đổi tên hoặc Tìm bản sao
  4. Chọn kết quả phù hợp với ứng cử viên và chấp nhận các kết quả phù hợp nhất
  5. Lặp lại cho đến khi tất cả các tệp không phiên bản được khớp với nhau

Điều tốt đẹp là bước 5: bạn có thể thực sự chuyển đổi tương tự như bạn đi và Rùa thay đổi những tệp được xem là đổi tên khi đang di chuyển. Bạn có thể nhận được hầu hết những gì bạn muốn bằng cách trượt thanh cẩn thận đến đúng tỷ lệ phần trăm và kiểm tra lại.

+0

Cảm ơn bạn rất nhiều !!! Tôi không thể tìm thấy điều này ở bất cứ nơi nào (những người đã có thể nghĩ để kiểm tra các hướng dẫn sử dụng ...) Bạn có xảy ra để biết nếu có một cách để có được điều này xảy ra tự động? –

+0

Đối với câu hỏi khác của bạn: Tôi không biết nếu nó có thể xảy ra tự động. Nhưng Tortoise là khá nhiều "WYSIWYG": nếu có một lựa chọn cho nó, nó thường là rõ ràng. (Hướng dẫn là nơi * giây * để xem. Giao diện người dùng là đầu tiên. :) – quark

+0

Để cập nhật: Tìm Bản sao không còn tồn tại, nhưng từ menu Tìm Rename bạn có thể bỏ chọn hộp kiểm để bao gồm các mục không được đã xóa và nó sẽ có tác dụng tương tự. – StriplingWarrior

4

tôi có các cài đặt toàn cầu (mercurial.ini) tập tin của tôi cấu hình với:

[defaults] 
addremove = --similarity 100 

Nếu bạn hỏi tôi, điều này sẽ được bật theo mặc định.

+1

Đó là một ý tưởng tuyệt vời, tôi không thể thấy bất kỳ lý do nào không được đặt theo mặc định. –

+0

+1 cho ý tưởng tuyệt vời, nhưng tôi không phải vì nó không thực sự trả lời câu hỏi đã được hỏi. –

5

cài đặt «-s 100» giá trị mặc định cho addremove là ý tưởng tuyệt vời; nhưng hgrc.5 nói rằng [mặc định] bị phản đối, vì vậy tôi đang sử dụng sau đây:

[alias] 
addremove = addremove --similarity 100 
adrs = addremove --similarity 0.01 

Sau đó là rất hữu ích cho việc theo dõi dữ liệu nhị phân (chẳng hạn như các file cad hoặc bản vẽ) đó là không nén và rành mạch phân đoạn/lớp.

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