[PATCH]: Optional explanation for options

Martin Pool martinpool at gmail.com
Tue Sep 20 05:47:00 BST 2005


On 20/09/05, John A Meinel <john at arbash-meinel.com> wrote:

> Well, the current changeset code does verify that all of the hashes are
> correct. But since we don't transmit the text hashes, it only figures it
> out once it has generated the inventory, which also means that it can't
> figure out which file is bogus, just that something is.

Another approach, which lifeless has advocated, is to transmit the
actual changes as a binary blob attached to the message, and a
human-readable diff just as a summary.  This has some strengths and
weaknesses:

 + does not require submitter to have published a public branch
 + no chance of whitespace mangling
 + can (optionally) compactly include a whole series of intermediate
revisions, as well as the final result
 + can include gpg signatures for revisions, with no chance of them
being damaged
 + the human readable diff doesn't need to show any ids or hashes
 + can patch binary or non-ascii files
 + we can check the diff is plausible (perhaps modulo whitespace)
compared to the result of applying the binary change
 - some people would find the attachment ugly

I seem to recall people doing something like this with bk, but it does
not seem common on the kernel archives (maybe because they disliked
the attachments.)

> One outstanding change that needs to be made is to remove the text-id of
> files, and make them known (based off of the last revision which changed
> them). That way they don't have to be transmitted.

This is done in my newformat branch.  The tools/history2weaves.py code
calculates these versions for imported data.  (I am soon going to run
that code from the upgrade command instead.)

-- 
Martin




More information about the bazaar mailing list