Subject: Re: Mercurial 0.4b vs git patchbomb benchmark

From: Noel Maddy <[email-masked]>
Date: Fri, 29 Apr 2005 15:47:53 -0400

On Fri, Apr 29, 2005 at 12:28:41PM -0700, Tom Lord wrote:
> 
> Think of it this way:
> 
>   (a) Joe, the mainline maintainer, gets a trusted message containing
>       a diff.
> 
>   (b) Joe reads the diff, it makes great sense, he wants to merge.
> 
>   (c) Joe downloads a tree.  Supposedly that tree is the result of
>       applying this diff.   The tree, not the diff, is used for
>       merging.

Call me a naive git, but seems to me the "git way" is a little
different. It's tree-based rather than diff-based, and doesn't involve
passing diffs around, right?

This is the process I'd expect:

    (a)' Joe is notified of an update made to an external git tree

    (b)' Joe pulls tree from the external git tree (signed by external
         developer)

    (c)' Joe reviews the (git-generated) diffs from his current
	     (trusted) tree to the new (signed) tree. If they pass
         review, he merges the new versions into his tree, commits,
         and signs his tree.

The logical hole that you point out is assuming that the diff is passed
separately from the tree rather than being directly generated from the
current maintainer tree and the signed remote tree.

If the diff is generated from the two signed trees, I don't see a hole.

Or am I missing something?

-- 
The world's largest Internet database in the country.
					      -- Trading Times radio ad
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Noel Maddy <[email-masked]>