Sửa: hg diff
và hg log
cả hỗ trợ một --stat
tùy chọn có thể làm điều này cho bạn, chỉ tốt hơn và nhanh hơn.
Tôi đã tạo bí danh được gọi là lines
để đếm các dòng đã thay đổi (không nhất thiết là dòng mã) cho tôi. Hãy thử đặt bí danh này trong tập tin .hgrc của bạn:
[alias]
lines = !echo `hg log -pr [email protected] | grep "^+" | wc -l` Additions; echo `hg log -pr [email protected] | grep "^-" | wc -l` Deletions;
Sau đó vượt qua nó sửa đổi đầu tiên, tiếp theo là bất kỳ đối số tùy chọn:
hg lines tip
hoặc hg lines 123:456 -u brian
Đôi khi bạn muốn biết số dòng đã thay đổi trừ các thay đổi chỉ khoảng trắng. Điều này yêu cầu sử dụng diff -w
bên dưới thay vì log -p
. Tôi thiết lập một bí danh linesw
cho việc này:
#ignore whitespace
linesw = ![[ $1 =~ : ]] && r=$1 || r="$1~1:$1"; echo `hg diff -wr $r | grep "^+\([^+]\|$\)" | wc -l` Additions; echo `hg diff -wr $r | grep "^-\([^-]\|$\)" | wc -l` Deletions;
hg linesw tip
hoặc hg lines 123:456
Lưu ý họ cư xử hơi khác vì diff
và log
cư xử khác nhau - ví dụ, log
sẽ mất một tham số --user
khi diff
sẽ không, và khi vượt qua phạm vi, log
sẽ hiển thị các thay đổi được cam kết trong bản sửa đổi đầu tiên được đưa ra trong phạm vi, trong khi diff
sẽ không hiển thị.
Điều này chỉ được kiểm tra bằng bash.
http://code.google.com/p/gource/ sẽ làm điều đó và trông khá đẹp trong quy trình. :-) – Ken