Re: Mercurial 0.4b vs git patchbomb benchmark

From: Linus Torvalds
Date: Fri Apr 29 2005 - 12:56:35 EST

On Fri, 29 Apr 2005, Tom Lord wrote:
> 1) the ancestry of their modified tree
> 2) the complete contents of their modified tree
> 3) input data for a patching program (let's call it "PATCH")
> which, at the very least, satisfies the equation:
> MOD_TREE = PATCH (this_diff, ORIG_TREE)
> On the other hand, signing documents which represent a {(1),(3)} pair
> with robust accuracy is, in most cases, much much less expensive than
> signing {(1),(2)} pairs with robust accuracy.

Not so.

It may be less expensive in your world, but that's the whole point of git:
it's _not_ less expensive in the git world.

In the git world, 1 and 2 aren't even separate things. They go together.
And you just sign it. End of story. It's so cheap to sign that it's not
even funny.

More importantly, signing 3 is meaningless. 3 only makes sense with a
known starting point. You should never sign a patch without also saying
what you're patching.

And once you do that, 1+2 and 1+3 are _exactly_ the same thing.

And since git always works on the 1+2 level, it would be inexcusably
stupid to sign anything but that. 3 doesn't even exist per se, although
it's obviously fully defined by 1+2.

So I don't see your point. You complain about git signing, but you
complain on grounds that do not _exist_ in git, and then your alternative
(1+3) which is senseless in a git world doesn't actually end up being
anything really different - just more expensive.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at