[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] 'arch send' format

From: Martin Pool
Subject: [Gnu-arch-users] 'arch send' format
Date: Fri, 16 Apr 2004 13:22:48 +1000
User-agent: Mutt/

As an alternative to the 'merge request format' recently discussed, I
have been wondering about an 'arch send format'.   

I think this might be a better fit for the way open projects tend to
work at the moment: I send a patch to a maintainer, asking for them to
merge it.  They can review it and act on it immediately.  

On the other hand under Arch the standard way is to ask the maintainer
to merge from a particular archive.  Of course you can get the same
merge done either way, but I think that sending the patch directly
will be socially better in some situations.

 - There's a difference between "please take *this* patch here" and 
   "please take all the patches on this branch".

 - Putting the patch directly in the mail lets people review it there
   and then, and reply in email quoting it.

 - The person reviewing the patch might not be online when they read
   their mail.  It's good to have the patch right there so no
   additional network traffic is required.

 - The person submitting the patch must have a public archive.  This
   is not a very hard thing to get, but it is a small barrier to
   contribution.  I might well want to send a patch from a machine
   which I don't trust to hold my SSH keys, or which only has email
   and no other access.

One way to do this would be to attach the changeset tarball.  The
maintainer could then save it and run show-changeset and do-changeset.
Although the Arch tarball format is pretty simple, it's not as
transparent as a regular diff.  Some mailing lists will probably strip
it off, and it might get a grumpy reception from maintainers who are
not using Arch.

It would be good if the format were a superset of a regular patch, so
that it could be accepted by people who aren't using Arch.  I think
I'd like a plain-text format that is a superset of a diff but that
also includes additional Arch information.  It ought to be possible to
apply it using patch, or to feed it to do-changeset (possibly after
some unwrapping.)  It's reasonable for application using patch to only
work for vanilla changesets that don't rename files, but most
changesets to upstream projects are like that.

show-changeset --diffs is pretty close already, but it misses some
metadata.  It would be good to put the log entry at the top, and to
include diffs for added and deleted files.  We would also need
something that could read in the annotations.  Perhaps there should be
an option to include or exclude diffs for files in {arch}, depending
on whether you expect the recipient to be using arch or not.

I think this can be built as a script from primitives already in arch.

This would be, I think, similar to the "bk send" command.  I don't say
it should be added just because bk has it, but it does seem to be a
feature that is useful to many people.

This might be useful in arch-pqm as well.

For example, here's an explanation by tytso of how to send him changes
over email:

And here is an example of the output:

Any thoughts?

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]