2010-08-11 36 views
94

Đối với một tệp nhất định trong kho lưu trữ Mercurial, bạn có thể xem lịch sử sửa đổi như thế nào?Cách xem lịch sử sửa đổi cho tệp Mercurial?

Và làm cách nào để bạn có thể phân biệt hai bản sửa đổi của tệp?

Lý tưởng nhất là làm tất cả điều này với các công cụ trực quan (chúng tôi sử dụng ExamDiff để thực hiện một số khác biệt khác).

Tôi muốn nói đây là chức năng kiểm soát nguồn cơ bản nhưng tôi dường như không thể tìm ra cách thực hiện điều này với Mercurial.

Trả lời

116
hg log file 

hg diff -r 10 -r 20 file 
+1

Perfect .. Làm việc với ExamDiff quá: 'hg ExamDiff -r 10 -r 20 file' –

+2

nó cũng có thể có ích khi tìm kiếm từ khóa thay vì tên tệp chính xác, từ khóa hg log -k – Despertar

+0

Điều này cho tôi kết quả đầu ra/phản hồi bằng không; chẳng có gì xảy ra. – Aerovistae

23

Các hgk extension mang đến cho bạn hg view file lệnh đó cho thấy một lịch sử trực quan, từ đó bạn có thể diff/vdiff cặp tùy ý các phiên bản.

TortoiseHg cung cấp cho bạn thg log file lệnh thực hiện điều tương tự nhưng có vẻ tốt hơn.

+0

rất đẹp! nhưng 'hgtk' bây giờ chỉ là một trình bao bọc, hãy sử dụng 'thg' trên linux – milkplus

+1

hgk hoạt động cho toàn bộ bản sửa đổi, nhưng làm thế nào để bạn làm cho nó khác biệt với các tệp * *? – keflavich

8

Đối với khả năng đọc

hg diff -r revision1:revision2 file 

đâu revision1 và revision2 có thể là một thẻ, changeset, vv

3

Nếu bạn sử dụng TortoiseHg: người dùng Windows có thể sử dụng Windows Explorer và xem lịch sử sửa đổi bằng cách kích chuột trên tệp.

Đối với người dùng Linux, bạn có thể làm điều đó trong TortoiseHg nhưng tôi mất một lúc để tìm hiểu cách thực hiện. Bạn cần phải nhấp chuột phải vào tệp mong muốn và chọn "Lịch sử tệp". Tuy nhiên, đối với một số lý do bí ẩn, tập tin cần phải được thay đổi. Hơn nữa, để tìm các tập tin mong muốn có hai tùy chọn:

Trong ### revision set query### ai có thể gõ:

file("**<myfile>") 

Các đôi ** là cần thiết để các thư mục tìm kiếm đệ quy. Điều này cung cấp cho bạn ngay lập tức một danh sách tất cả các kho lưu trữ trong đó tập tin mong muốn đã được thay đổi.

Cách khác, bên cạnh số ### filter text ### nhấp trước vào dấu hỏi chấm và chọn "sạch" để xem tất cả các tệp trong kho lưu trữ. Sau đó, bên trong hộp ### filter text ### bạn có thể thu hẹp số lượng tệp được hiển thị.

Ngoài ra, người dùng Linux có thể làm điều đó từ một thiết bị đầu cuối như đề nghị của Geoffrey Zheng trên:

thg log file 
+0

Có thể điều này đã thay đổi kể từ năm 2010, nhưng tôi có thể nhấp vào một tệp đã sửa đổi trong THG và xem lịch sử sửa đổi. – DaveInCaz

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