Список размер ртутных изменений? - PullRequest
8 голосов
/ 09 июня 2011

Глядя, чтобы определить, сколько изменений произошло в каждом наборе изменений. Какой-нибудь быстрый способ перечислить, возможно, разницу между двумя ревизиями?

Ответы [ 4 ]

3 голосов
/ 26 июня 2013

Вчера у меня была та же мысль, что и у @shambulator!Поэтому я добавил возможность печатать размер дельты в байтах как часть вывода --diffstat из моей * несколько длинной и чистой утилиты patch.py ​​.

wget https://raw.githubusercontent.com/techtonik/python-patch/master/patch.py
hg diff -c tip | python patch.py --diffstat --
 codereview/views.py | 28 ++++++++++++++++++++++++++++
 index.yaml          | 10 ++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-), +1267 bytes

UPD : Благодаря @Gili и @mforbes теперь есть билет на Mercurial
https://bz.mercurial -scm.org / show_bug.cgi? Id = 4245

3 голосов
/ 09 июня 2011

hg log --stat - команда, за которой вы следите.Смотрите этот пример:

$ hg log --stat

changeset:   12431:56e146c7beef
user:        flast
date:        Wed Jun 08 16:12:54 2011 +1000
summary:     Fix the frobulate to frob the knob correctly on tuesdays.

 path/to/src/frob/interface.py       |  29 ++++++++++++++++++++---------
 path/to/tests/systest_frob.py       |  14 ++++++++++++++
 2 files changed, 34 insertions(+), 9 deletions(-)
2 голосов
/ 16 марта 2017

Возможно, можно использовать hg bundle для проверки размера? (я не проверял, насколько это согласуется с точки зрения общего размера хранилища.)

function revsize() {
  hg bundle -r $1 --base "p1($1)+p2($1)" /dev/stdout | wc -c
}

Как это работает

Это вычисляет размер (в байтах), используя wc -c после генерации пакета для изменений между ревизией REV = $1 (первый аргумент функции bash) и ее родителями "p1(REV)+p2(REV)" (их может быть два, если это слияние.) Используя /dev/stdout в качестве файла, результат отправляется в стандартный формат, где его можно передать в wc -c без создания файла на диске.

1 голос
/ 09 июня 2011

У меня была такая же мысль только вчера!Я написал быстрый и грязный скрипт на Python для определения общего изменения размера файла по унифицированному diff на stdin или в виде файлов в командной строке.Чтобы сделать это для набора изменений, вы могли бы просто:

hg diff -c <cset id> | patchsize.py

Быстро и грязно в том смысле, что оно, вероятно, не учитывает окончания строки, специфичные для платформы, и не анализирует различия особенно хитро.Но это достаточно близко для моих целей.

...