[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