Re: What's cooking in git.git (Feb 2014, #06; Wed, 19)
- From
Max Horn <max@quendi.de>
- Date
- Feb 20, 2014, 18:39 UTC
- Message-ID
- <BCF58F31-7130-4F4B-BE53-D917C4D50D96@quendi.de>
- In-Reply-To
- <xmqqppmi7pbn.fsf@gitster.dls.corp.google.com>
On 19.02.2014, at 22:41, Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
> * 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.
Cheers, Max