Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Swig 3.0.8 breaks SVN Ruby bindings #602
It seems that Swigh 3.0.8 breaks SVN Ruby bindings. I have tried to compile Subversion against Ruby 2.2.4 and 2.3.0 and in both case, the Subversions test suite breaks:
Build against Swig 3.0.7 works just fine. So I tried revert to Lib/ruby/rubyrun.swg to this version  and it worked just fine again. I suspect that 146252f is the cause of the issues.
Just FTR, the particular bits of the test suite can be executed as follows:
I am looking at this now and am building svn-1.9.3 now. I see:
Is there something more fundamentally wrong with using swig-3.0.0+ for svn wrappers?
I'm a bit frustrated that I can't get the test suite to run. Calls to
The subversion-1.9.3 Ruby test-suite works out the box on Ubuntu-14.04 and recreates this reported bug with ruby-1.9.3p484.
The problem is peculiar to Subversion's pattern of using manually written proxy classes to wrap an opaque pointer and deleting them using 'DATA_PTR(self) = 0' in the manually written svn_fs_close function:
146252f is indeed where the regression was introduced and this needs tweaking slightly to revert to the old behaviour and not throw SWIG_ObjectPreviouslyDeletedError. It isn't clear to me which approach is better in this corner case, so I've gone with the old behaviour for backwards compatibility.
The subversion ruby tests now pass with the change I've committed.