[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] I'm sorry, I fscked up.
From: |
Richard Levitte - VMS Whacker |
Subject: |
Re: [Monotone-devel] I'm sorry, I fscked up. |
Date: |
Wed, 20 Apr 2005 02:10:16 +0200 (CEST) |
In message <address@hidden> on Wed, 20 Apr 2005 00:21:18 +0200 (CEST), Richard
Levitte - VMS Whacker <address@hidden> said:
richard> In message <address@hidden> on Tue, 19 Apr 2005 23:39:23 +0200 (CEST),
Richard Levitte - VMS Whacker <address@hidden> said:
richard>
richard> richard> I have to appologise to everyone involved with the
richard> richard> development of monotone. I've effectively stopped you from
richard> richard> making any further updates, you are now locked to revision
richard> richard> e018e6f9690d07166a0eecef6627493445db12ad as soon as it is in
richard> richard> your database unless you do what I will describe below.
richard>
richard> OK, a little more investigation shows that the problem isn't
richard> so great. Basically, what I said only applies to those who
richard> currently have revision e018e6f9690d07166a0eecef6627493445db12ad
richard> (which has been dubbed "evil Richard's evil revision" on IRC,
richard> a dubious honor...) in their work directory.
I believe I've discovered a flaw in tha handling of test results,
which actually helps us.
I've added another testresult cert to revision
e018e6f9690d07166a0eecef6627493445db12ad, with the value 0 (false).
The immediate symptom is that it cancels out the true testresult.
While I was quite happy the current problem could be so easily
cancelled out, I wondered why this happens...
The answer is simple as soon as you see it. I basically boils down to
how get_test_results_for_revision() (update.cc) works, and is
specificaly cause by it taking a map<> to store the results in. A
map<> means all cert names have to be unique. Now, it seems to be
pure luck that the testresult with value 0 comes first (why? Maybe on
purpose, to have eerythin in alhabetical order. I really have no
clue) and stops the next testresult ct, with value 1, to ever get inte
the map<>...
So I pushed. Revision e018e6f9690d07166a0eecef6627493445db12ad now
has two testresult certs, the first with the value 0, the second with
1.
There's no more need for the hacked accept_testresult_change.
Cheers,
Richard
-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.
--
Richard Levitte address@hidden
http://richard.levitte.org/
"When I became a man I put away childish things, including
the fear of childishness and the desire to be very grown up."
-- C.S. Lewis