2010-04-20 44 views
26

Tôi biết rằng Mercurial có thể theo dõi đổi tên các tệp, nhưng làm cách nào để có được nó thành hiển thị tôi đổi tên thay vì thêm/xóa khi tôi làm hg status? Ví dụ: thay vì:Hiển thị đổi tên trong trạng thái hg?

A bin/extract-csv-column.pl 
A bin/find-mirna-binding.pl 
A bin/xls2csv-separate-sheets.pl 
A lib/Text/CSV/Euclid.pm 
R src/extract-csv-column.pl 
R src/find-mirna-binding.pl 
R src/modules/Text/CSV/Euclid.pm 
R src/xls2csv-separate-sheets.pl 

Tôi muốn một số dấu hiệu cho biết có bốn tệp đã được di chuyển.

Tôi nghĩ rằng tôi đã đọc ở đâu đó rằng đầu ra giống như thế này để duy trì tính tương thích ngược với thứ gì đó khác, nhưng tôi không lo lắng về điều đó.

+0

Bạn có nghĩa là "trạng thái hg" không? Tôi không nghĩ rằng hg đăng nhập sản xuất ra ở định dạng mà bạn đã liệt kê. –

+0

Trên thực tế, tôi đang sử dụng phần sau để làm cho nhật ký hg hiển thị thêm thứ (và màu sắc): http://bitbucket.org/sjl/mercurial-cli-templates/src/ Vì vậy, hãy thay đổi câu hỏi thành 'hg status'. –

Trả lời

32

Có một số cách để thực hiện việc này.

Trước khi bạn cam kết, bạn có thể sử dụng hg diff --git để hiển thị những gì được đổi tên thành:

$ hg diff --git 
diff --git a/theTest.txt b/aTest.txt 
rename from theTest.txt 
rename to aTest.txt 

Lưu ý rằng chỉ có các công trình này nếu bạn sử dụng hg mv, hg rename, hoặc mvhg addremove --similarity 100.

Sau khi bạn cam kết, bạn vẫn có thể sử dụng hg diff, nhưng bạn sẽ phải chỉ rõ sự thay đổi sử dụng -r:

$ hg diff -r 0 -r 1 --git 
diff --git a/test.txt b/theTest.txt 
rename from test.txt 
rename to theTest.txt 

Đối với cả hai hg statushg log, sử dụng dòng lệnh cờ C để xem nguồn mà một tập tin đã được sao chép từ đó.

$ hg status -C 
A aTest.txt 
    theTest.txt 
R theTest.txt 

Dòng bên dưới aTest.txt cho biết nguồn được sao chép từ (theTest.txt).

$ hg log -v -C 
changeset: 1:4d7b42489d9f 
tag:   tip 
user:  jhurne 
date:  Tue Apr 20 20:57:07 2010 -0400 
files:  test.txt theTest.txt 
copies:  theTest.txt (test.txt) 
description: 
Renamed test.txt 

Bạn có thể xem các tệp bị ảnh hưởng (test.txt và theTest.txt) và "theTest.txt" đã được sao chép từ test.txt.

14

Bạn có thể tìm hiểu số lượng tệp đã được đổi tên thành bản tóm tắt hg. Nếu bạn muốn xem các tập tin thực tế đã được đổi tên, cách nhanh nhất tôi đã tìm thấy là để làm:

hg st -a -C 

chí này ra một cái gì đó như thế này:

A <path\to\renamed\file> 
    <path\copied\from> 
A <path\to\added\file> 
A <path\to\renamed\file> 
    <path\copied\from> 

Kể từ khi tình trạng hg xem xét một đổi tên là một bản sao và loại bỏ, các tệp được đổi tên của bạn sẽ liệt kê tệp được sao chép từ tệp. Các tệp đã được thêm nhưng không được đổi tên sẽ không liệt kê tệp được sao chép từ tệp.

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