On Thu, Dec 17, 2009 at 10:11 AM, Mark Phippard <markp...@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_c...@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