[PATCH 1 of 6] changegroup: expose outgoing instance from getchangegroupraw

Gregory Szorc gregory.szorc at gmail.com
Mon Jun 1 00:26:51 CDT 2015



> On May 31, 2015, at 22:06, Pierre-Yves David <pierre-yves.david at ens-lyon.org> wrote:
> 
> 
> 
>> On 05/31/2015 05:28 PM, Gregory Szorc wrote:
>> # HG changeset patch
>> # User Gregory Szorc <gregory.szorc at gmail.com>
>> # Date 1432592438 25200
>> #      Mon May 25 15:20:38 2015 -0700
>> # Node ID c86d558a097b3bb6a5d6a3423518984d9dd70898
>> # Parent  4cc3fb23881d9abc7745501ef0d777e5976ddb52
>> changegroup: expose outgoing instance from getchangegroupraw
>> 
>> Currently, consumers to getchangegroupraw have no way of knowing what
>> changesets are included without reading the output stream. This is
>> extra work and inefficient.
>> 
>> Change the API of getchangegroupraw to return the computed
>> discovery.outgoing instance, which contains a "missing" property that
>> holds the list of changesets in the changegroup.
> 
> This is moving in the wrong direction. The `getchangegroupraw` 2 line long and is called in twice in a single place. Replacing this call with and explicit creation of 'outgoing' (from the same function) and a call to the function underlying getchangegroupraw would give you the same result without the need for torturing this version of the function. (instead you could just kill that version of the function).
> 
> This will be a net win for code simplicity and clarity.

I don't follow. I think you may be confusing getchangegroup[raw] with getlocalchangegroup[raw]? I thought you originally asked me to not butcher so many functions. That's why I went from 6 modified functions to 2.


More information about the Mercurial-devel mailing list