On Thu, Dec 17, 2009 at 10:11 AM, Mark Phippard <markphip_at_gmail.com> wrote:
> One of the JavaHL tests has been failing for a while now:
>
> 1) testBasicMerge(org.tigris.subversion.javahl.BasicTests)junit.framework.AssertionFailedError:
> Missing eligible merge info on
> '/home/bt/slaves/x64-centos/build/subversion/bindings/javahl/test-work/working_copies/basic_test33/branches/A/mu'
> at org.tigris.subversion.javahl.BasicTests.acquireMergeinfoAndAssertEquals(BasicTests.java:2234)
> at org.tigris.subversion.javahl.BasicTests.testBasicMerge(BasicTests.java:2402)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at org.tigris.subversion.javahl.RunTests.main(RunTests.java:116)
>
>
> I have debugged this. The problem is happening in a method we run in
> the tests after merges to verify that the svn mergeinfo functions
> return the right values for merged and eligible revisions. In this
> case, it is failing when retrieving the eligible revisions.
>
> If I stop the debugger and go out to the command line and run the
> command, I get this:
>
> $ svn mergeinfo --show-revs=eligible --depth=empty
> file:///Users/mphippard/work/src-trunk/repositories/basic_test1/A/mu
> /Users/mphippard/work/src-trunk/working_copies/basic_test1/branches/A/mu
> r6
>
> Which is the right value and what the JavaHL tests look for. So the
> test expectations are still correct.
>
> However, when the JavaHL method runs, it gets an Exception.
>
> org.tigris.subversion.javahl.ClientException: Bogus revision information given
> svn: traced call
> svn: traced call
> svn: traced call
> svn: subversion/libsvn_client/mergeinfo.c:1740: (apr_err=195002)
> at org.tigris.subversion.javahl.SVNClient.getMergeinfoLog(Native Method)
> at org.tigris.subversion.javahl.SVNClientSynchronized.getMergeinfoLog(SVNClientSynchronized.java:1082)
> at org.tigris.subversion.javahl.BasicTests.getMergeinfoRevisions(BasicTests.java:2275)
> at org.tigris.subversion.javahl.BasicTests.acquireMergeinfoAndAssertEquals(BasicTests.java:2232)
> at org.tigris.subversion.javahl.BasicTests.testBasicMerge(BasicTests.java:2400)
>
> I am going to commit a change to the tests so that this exception is
> logged as the failure instead of just catching it and reporting the
> error differently. The exception seems to provide a better clue.
>
> I visually walked through the Java code into the C++ and into the C to
> see if there was an argument transposition or something. It all looks
> right to me though. Hopefully the clue this exception gives of
> showing the line where it fails in mergeinfo.c will help someone fix
> the problem.
Mark,
This is replicable from the command line when the svn mergeinfo target
is a working copy path pegged at HEAD or DATE, e.g.:
C:\SVN\src-trunk-2\Release\subversion\tests\cmdline\svn-test-work\working_copies\mergeinfo_tests-8>svn
mergeinfo --show-revs eligible A A_COPY_at_HEAD
svn: Bogus revision information given
I fixed this in r892902 and also expanded mergeinfo_tests.py 8 so it
also covers this bug.
Paul
Received on 2009-12-21 18:48:02 CET