Редактировать : hg diff
и hg log
оба поддерживают опцию --stat
, которая может сделать это для вас, только лучше и быстрее.
Я создал псевдонимпозвонил lines
для подсчета измененных строк (не обязательно строк кода) для меня.Попробуйте добавить этот псевдоним в ваш файл .hgrc:
[alias]
lines = !echo `hg log -pr $@ | grep "^+" | wc -l` Additions; echo `hg log -pr $@ | grep "^-" | wc -l` Deletions;
Затем сначала передайте ему ревизию, а затем необязательные аргументы:
hg lines tip
или hg lines 123:456 -u brian
Иногда вы хотите узнать количество измененных строк, исключая только пробельные изменения.Это требует использования diff -w
снизу вместо log -p
.Для этого я установил псевдоним linesw
:
#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
или hg lines 123:456
Обратите внимание, что они ведут себя немного по-разному, потому что diff
и log
ведут себя по-разному -например, log
примет параметр --user
, а diff
- нет, а при пропуске диапазона log
покажет изменения, зафиксированные в первой ревизии, заданной в диапазоне, а diff
- нет.
Это было проверено только с использованием bash.