[Python-Dev] combined hg incoming patch

Brendan Cully brendan at kublai.com
Tue Mar 8 00:19:17 CET 2011


On 2011-03-07, at 2:30 PM, Brendan Cully wrote:

> On 2011-03-07, at 2:18 PM, Martin v. Löwis wrote:
> 
>> Am 07.03.2011 23:09, schrieb Brendan Cully:
>>> On 2011-03-07, at 1:03 PM, Martin v. Löwis wrote:
>>> 
>>>> I'd like to experiment with adding Rietveld support for reviewing
>>>> remote repositories. For that, I'd need to create a single patch
>>>> (programmatically) that covers all incoming changes. 'hg incoming -p'
>>>> mostly works, but it may provide multiple patches for a single file,
>>>> which I think would harm the review (since some changes may be superseded in a separate patch).
>>>> 
>>>> So I would need to compute the most recent revision in both repositories, and then create a diff between the default head
>>>> of the remote repository and that base revision.
>>> 
>>> You might like the rdiff extension, which does essentially this.
>>> 
>>> http://mercurial.selenic.com/wiki/RdiffExtension
>> 
>> I've looked at it, and it does something different. It computes the diff between the local tip and the remote tip. What I want is a diff between the common ancestor between the two, and the remote tip.
> 
> Ah right. Well, I think this shell should work (with hg new enough to have revsets):
> 
> hg in --bundle tmp.bundle
> hg diff -r 'outgoing(.)' -R tmp.bundle

Sorry, I didn't think that through. Revsets still have the power though:

hg -R tmp.bundle diff -r'ancestor(.,default)' -r default

(assuming your local repo is at the tip of default)



More information about the Python-Dev mailing list