Изменить: 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
or 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
or hg lines 123:456
Обратите внимание, что они ведут себя немного по-разному, потому что diff
и log
ведут себя по-разному — например, log
примет параметр --user
, а diff
— нет, и при передаче диапазона log
покажет изменения, зафиксированные в первой ревизии, заданной в диапазоне, а diff
нет.
Это было протестировано только с использованием bash.
person
undefined
schedule
20.04.2012