Subject: Re: What's cooking in git.git (Feb 2014, #06; Wed, 19)

From: Junio C Hamano <[email-masked]>
Date: Thu, 20 Feb 2014 11:22:36 -0800

Max Horn <[email-masked]> writes:

> On 19.02.2014, at 22:41, Junio C Hamano <[email-masked]> wrote:
>
>> * fc/transport-helper-fixes (2013-12-09) 6 commits
>> - remote-bzr: support the new 'force' option
>> - test-hg.sh: tests are now expected to pass
>> - transport-helper: check for 'forced update' message
>> - transport-helper: add 'force' to 'export' helpers
>> - transport-helper: don't update refs in dry-run
>> - transport-helper: mismerge fix
>> 
>> Reported to break t5541, and has been stalled for a while without
>> fixes.
> ...
> Since I somewhat care about transport-helpers, I had a closer look
> at this failure.

Thanks.  Let's keep it a bit longer and see how your new
investigation (and possibly help from others) develops to a
solution.

> Torsten already narrowed it down to f9e3c6bebb89de12
> (transport-helper: check for 'forced update' message).
>
> Looking at that commit, the problem is the new line
>
>    (*ref)->forced_update = forced;
>
> which is supposed to set forced_update to 1 in certain cases; but
> the code which sets "forced = 1" ever triggered (at least in my
> limited tests). Worse, it seems forced_update can be set to 1
> before we ever get there, and in these casss, we end up reseting
> forced_update from 1 back to 0. This triggers the test failure.
>
> So a simple fix for the test failure is to drop that
> patch. Another would be to change the assignment to
>
>    (*ref)->forced_update |= forced;
>
> But I haven't spent enough time to look at the patch to determine
> if one of these two possible changes is correct. All I can say is
> that dropping that single commit fixes the test failure for me and
> seems to cause now new failures.