2010-12-11 38 views
15

Nhóm của tôi đang sử dụng Mercurial và tôi muốn biết những đóng góp tương đối của từng thành viên trong nhóm. Tôi biết rằng chúng tôi không thể đo lường năng suất theo các dòng mã, nhưng tôi muốn biết liệu mỗi người có ít nhất đóng góp một cái gì đó, ngay cả khi nó bị ghi đè bởi những người khác sau này. Vì vậy, tôi không chỉ muốn xem ai chịu trách nhiệm về phiên bản hiện tại (chú thích la Mercurial), mà phải thực hiện điều này một cách đệ quy thông qua tất cả các bản sửa đổi, lý tưởng với đầu ra có thể dễ dàng được hiển thị hoặc đổ vào bảng tính.Sử dụng Mercurial, tôi có thể đo lường những đóng góp cá nhân bằng cách nào?

Bất kỳ mẹo nào?

Trả lời

22

Có một tiện ích mở rộng chính xác cho việc này, có tên là churn, được đóng gói với Mercurial, nhưng không được tự động bật. Bạn có thể tìm thêm thông tin tại đây: ChurnExtension.

Trong file mercurial.ini của bạn, để phần [extensions], thêm dòng sau:

 
[extensions] 
churn= 

Sau đó, để nhìn vào thùng đựng các kho lưu trữ của bạn, chỉ cần làm:

 
hg churn 

chí đầu ra này một cái gì đó như thế này (điều này là dành cho các Noda-Time project):

 
[C:\Dev\VS.NET\Noda-Time-docs] :hg churn 
[email protected]    296444 ************************************************************************************************************* 
[email protected]  203877 *************************************************************************** 
James Keesey     80466 ****************************** 
[email protected]  25552 ********* 
Dmitry Bullavin    17657 ****** 
[email protected] 16325 ****** 
Dmitry Bulavin     4273 ** 
james.keesey     2650 * 
matt.scharley     768 
configurator     450 
[email protected]    64 
[email protected]    2 
+0

Thật thú vị là nó liệt kê một số người dùng hai lần, tuy nhiên, họ có thể đã thay đổi tên của họ. +1 dù sao, cũng rất hay khi biết –

+1

Nó liệt kê mỗi tên duy nhất và tất cả các tên đều là duy nhất. Tuy nhiên, bạn có thể cung cấp một tệp bí danh để đổi tên một số tên, đặc biệt để chống lại vấn đề này. –

+0

Khá chính xác những gì tôi đang tìm kiếm. Cảm ơn! – Paul

8

C hurn thực hiện công việc, nhưng lưu ý rằng nếu người dùng di chuyển tệp nhiều, anh ta sẽ có số lượng lớn các dòng đã thay đổi. Tôi vừa làm một thử nghiệm, đây là kết quả:

C:\Projects\personal\test>hg churn 
[email protected]  10 ***************************************** 

C:\Projects\personal\test>hg mv a.a b.b 
moving a.a to b.b 

C:\Projects\personal\test>hg commit -m "moving 10 lines to another location" 
b.b 
committed changeset 1:c54200557152 

C:\Projects\personal\test>hg churn 
[email protected]  30 ***************************************** 

Lưu ý rằng tôi chỉ tạo 10 dòng, nhưng để di chuyển một tập tin, tôi có 20 thay đổi dòng. Điều đó không truyền đạt một bức tranh đẹp.

+0

Điều này có lẽ phù hợp hơn khi nhận xét ngắn gọn về câu trả lời của Lasse. – Zero3

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