Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mercurial变更集的列表大小?_Mercurial_Changeset - Fatal编程技术网

mercurial变更集的列表大小?

mercurial变更集的列表大小?,mercurial,changeset,Mercurial,Changeset,希望量化每个变更集中发生了多少变化。有没有快速列出两个版本之间可能存在的kb差异的方法?hglog--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 tuesd

希望量化每个变更集中发生了多少变化。有没有快速列出两个版本之间可能存在的kb差异的方法?

hglog--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(-)

昨天我也有同样的想法!我写这篇文章是为了在stdin或命令行上以文件的形式给出一个统一的diff来确定总的文件大小变化。要为变更集执行此操作,您可以:

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

从某种意义上说,它可能不考虑特定于平台的行结尾,而且它也没有特别巧妙地解析差异。但就我的目的而言,它已经足够近了。

我昨天的想法和@shambulator一样!因此,我添加了打印功能,作为实用程序的
--diffstat
输出的一部分

UPD:多亏了@Gili和@mforbes,Mercurial现在有了一张票

也许可以用它来检查尺寸?(我没有检查这在总存储库大小方面的一致性。)

它的工作原理


这将在为修订版
REV=$1
(bash函数的第一个参数)和
“p1(REV)+p2(REV)”
(如果是合并,则可能有两个)之间的更改生成捆绑包后,计算大小(字节),结果被发送到standard out,在那里它可以通过管道传输到
wc-c
,而无需在磁盘上创建文件。

是的,我一直在使用它。但它只涉及行的插入和删除;我很好奇一个补丁所带来的文件大小的总体变化。谢谢你的脚本!我开了一张罚单:那可能会有帮助。谢谢。bug服务器现在位于源位置,已经移动到GitHub:请注意,默认情况下,bundle是使用bzip2压缩的。对于无压缩,请使用“-t none”(参见上面链接的hg bundle文档)。@Kim您知道这些差异是否存储在磁盘上压缩?如果不是的话,
-t none
可能是最好的,但这一切都需要一些测试(或权威来源)。根据这个古老的说法,初始文件是压缩的,而差异是未压缩的。不过,我还没有独立验证这一点,也没有找到更近期的证实。
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
function revsize() {
  hg bundle -r $1 --base "p1($1)+p2($1)" /dev/stdout | wc -c
}