monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Re: removal of packet functions


From: John Bailey
Subject: Re: [Monotone-devel] Re: removal of packet functions
Date: Wed, 11 Aug 2010 01:55:42 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20091109 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666

On 08/10/2010 04:28 PM, Thomas Keller wrote:
> Am 10.08.10 17:20, schrieb John Bailey:
>> It would be nice to have a way to send (or possibly even generate for manual
>> sending) a series of patches in a manner similar to what git and hg allow.
> 
> Could you please be a bit more specific how you'd imagine this should
> work out / look like? Personally I haven't dealt much with the patch
> possibilities in neither hg nor git, so it would be interesting to know
> what you actually need.

Ok, here's a scenario that I've seen recently, albeit not one that Pidgin was
involved in.  I apologize for the length, but I want to make the use case clear.

A user has no write access to any public netsync servers and is behind a
firewall he does not control (thus can't run a netsync server).  This user has
taken an interest in some section of the project and begins committing minor
bugfixes and feature additions to his local database.  Now he'd like to send the
revisions he committed in some manner.

Let's presume for illustrative purposes that his beginning revision is abcd1234
and his ending revision is cdef3456.  Ideally we'd have some command where we
could tell monotone to generate the series of patches for revisions starting at
abcd1234 and ending at cdef3456 (where each patch would look like the output of
'mtn log --no-graph --diffs --last 1 --from $rev', for the purpose explained
below).  From here I'm not sure what the best approach would be to actually
transport the information via e-mail.  Mercurial, at least, allows use of raw
SMTP, the sendmail command, or creation of an mbox file and can have the patches
be either inline or attachments.

On the other side, the receiving developer should be able to reassemble and
"import" the patches.  The idea is that importing the patches would add them to
the importer's database as revisions, ideally making use of the data before the
actual patch (i.e. the parent, author, date, branch, and changelog fields).  In
the case of Mercurial, there is an extension that allows importing patches from
an mbox file or an IMAP mailbox.

I know there are some challenges to this, such as how to handle merges.  I don't
expect this overnight, and truthfully, I count it only as a "would be nice"
thing.  Also, I don't really expect monotone to grow SMTP or IMAP support.  I
imagine some of monotone's developers would think those to be unreasonable
things to support, as monotone is a VCS, not a Swiss Army Knife.  I'd be willing
to bet, however, that a lot of people would be happy with generating a simple
mbox file, as there are a ton of tools that can read them for review prior to
import.

John

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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