[PATCH evolve-ext] evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
Matt Harbison
mharbison72 at gmail.com
Tue Mar 10 19:27:59 CDT 2015
On Tue, 10 Mar 2015 00:10:11 -0400, Pierre-Yves David
<pierre-yves.david at ens-lyon.org> wrote:
>
>
> On 03/09/2015 08:48 PM, Matt Harbison wrote:
>> On Mon, 09 Mar 2015 23:13:39 -0400, Pierre-Yves David
>> <pierre-yves.david at ens-lyon.org> wrote:
>>
>>>
>>>
>>> On 03/09/2015 07:59 PM, Matt Harbison wrote:
>>>> On Mon, 09 Mar 2015 22:50:53 -0400, Pierre-Yves David
>>>> <pierre-yves.david at ens-lyon.org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On 03/05/2015 05:43 PM, Matt Harbison wrote:
>>>>>> # HG changeset patch
>>>>>> # User Matt Harbison <matt_harbison at yahoo.com>
>>>>>> # Date 1425603727 18000
>>>>>> # Thu Mar 05 20:02:07 2015 -0500
>>>>>> # Branch stable
>>>>>> # Node ID 0828a7e7f402374dca9cc089a9ff958fb478163c
>>>>>> # Parent 1e7c8046a9f461bda3c8f6003dae65e235af8bb6
>>>>>> evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
>>>>>
>>>>> Pushing to main with an eyes brown raised.
>>>>
>>>> Given the previous code, I can't believe it used to work at all over
>>>> http, even though the test says it does. Any thoughts? Any debug
>>>> steps
>>>> you think would be useful on this repo to see why it is different?
>>>
>>>
>>> The tests are supposed to ensure that. If the http push is actually
>>> untested, making it tested sounds like a first step.
>>
>> I think test-simple4server.t, line 90 covers it:
>>
>> $ hg push
>> pushing to http://localhost:$HGPORT/
>> searching for changes
>> remote: adding changesets
>> remote: adding manifests
>> remote: adding file changes
>> remote: added 1 changesets with 1 changes to 1 files (+1 heads)
>> pushing 2 obsolescence markers (* bytes) (glob)
>>
>> I can't believe specifying a path or revision like I did in the commit
>> message demo makes any difference. The code looked like it would fail
>> any time there was a "pushing xx obsolete markers" line, so I must be
>> missing something.
>
> Your initial message is talking about situation when no changeset are to
> be pushed. This might be related ?
I see what is going on here. In the test case, the string that was
unpacked into "ret, output" was '0\n'. In my case when there was a
problem, the string being unpacked is '0\n8 obsolescence markers added'.
I'll see if I can put together a test case when I get a chance.
--Matt
More information about the Mercurial-devel
mailing list