[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r25510 - trunk/subversion/tests/cmdline

From: Paul Burba <pburba_at_collab.net>
Date: 2007-06-25 15:25:40 CEST


> -----Original Message-----
> From: Lieven Govaerts [mailto:svnlgo@mobsol.be]
> Sent: Sunday, June 24, 2007 1:58 PM
> To: Mark Phippard
> Cc: dev@subversion.tigris.org; hwright@tigris.org
> Subject: Re: svn commit: r25510 - trunk/subversion/tests/cmdline
> Mark Phippard wrote:
> > On 6/24/07, Lieven Govaerts <svnlgo@mobsol.be> wrote:
> >> this change is failing on the Mac and Windows buildslaves. More
> >> specifically, log_tests 17 and 19 are failing.
> >>
> >> I checked the output of "log -g log_tests-17\trunk" on my
> Windows box
> >> - where the tests pass - and my mac, the output is clearly
> different:
> >
> > Lieven, this test was added for precisely this reason. It
> fails for
> > me on all my Windows and OSX boxes, but it does not fail
> for Hyrum or
> > Dan. So we put in the test (actually fixed the test) to reveal who
> > has the problem and widen the net of people that might be
> able to fix
> > it.
> >
> > Paul Burba gets the problem on his Windows box and was going to see
> > what he could find.
> >
> I did some more tests on Windows. log_tests 17 & 19 pass on a
> Debug build, but fail on a Release build. Maybe this helps.

Thanks Lieven, that actually helped a lot!

Of course the problem not occuring in the debug build made things a bit
tricky to debug :-(

Anyway, I'm embarassed to say I looked at this a long time last night
and couldn't see what was wrong. I looked at it 30 minutes this morning
and it was clear as day (The moral of the story: Sleep is good):

Log.c:do_merged_log() - Local variable "svn_boolean_t changed" is not
initialized before being passed by reference to check_history(). Great,
except that check_history doesn't always modify that arg:

/* Set INFO->HIST to the next history for the path *if* there is history
 * available and INFO->HISTORY_REV is equal to or greater than CURRENT.
 * *CHANGED is set to TRUE if the path has history in the CURRENT
>>>> * otherwise it is not touched. <<<<
 * If we do need to get the next history revision for the path, call
 * get_history to do it -- see it for details.

So do_merged_log() kept calling build_log_tree() for revs < 11 even
though though they were not changed.

I assume the debug build must initialize the variable whereas the
release build doesn't.

Fixed r25533.

> Lieven

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 25 15:26:40 2007

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.