On 19.02.2014, at 22:41, Junio C Hamano <gits...@pobox.com> 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
> Updates transport-helper, fast-import and fast-export to allow the
> ref mapping and ref deletion in a way similar to the natively
> supported transports.
> Reported to break t5541, and has been stalled for a while without
> fixes.
> Will discard.

Since I somewhat care about transport-helpers, I had a closer look at this 
failure. 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.


Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to