Basic instructions for maintaining a functional setup between NetBeans and SVN (Subversion). In a nutshell; why my upgrade to Subversion 1.6.2 did NOT work.
Since I’ve started using NetBeans 6.5, its proven to be a stable IDE for PHP and overall general web development. NetBeans has very nice integration with SVN (Subversion), allowing you to do checkouts, updates, commits, etc., right within the IDE. The inline versioning code markers is another resource NetBeans brings to developers.
The majority of my projects are under version control with subversion. Most of my development is done on Windows and I use TortoiseSVN to manage my working copies. I bounce between using subversion within the NetBeans IDE and TortoiseSVN. But recently I upgraded my TortoiseSVN to 1.6.2 and that’s when all my troubles started…
In a nutshell; NetBeans currently seems to only have support for the 1.5.x line of the subversion client (using the “Subversion 1.5 for Windows” plugin). When I upgraded TortoiseSVN to 1.6.2, every working copy that I interacted with using TortoiseSVN were transparently upgraded to subversion’s latest format. Because the working copy format had changed, NetBeans (still using Subversion client 1.5) was producing incompatibility errors.
So here is what I did to resolve these issues:
I first made sure I had the latest version of the CollabNet Subversion client (1.5.5) as recommended by NetBeans.
After installing the CollabNet Subversion client, I specifically set the path to Subversion in NetBeans (Tools > Miscellaneous > Versioning). The CollabNet Subversion installation adds its install path to the PATH environment variable, so you can probably forgo this step as NetBeans also searches for Subversion in the PATH environment variable.
I also needed to downgrade TortoiseSVN to 1.5.5 to match the Subversion client that NetBeans would be using. I had to uninstall my current version of TortoiseSVN first, prior to reinstalling 1.5.5.
At this point some of my working copies were still in the modified format (1.6.2) which meant that my downgraded TortoiseSVN (and NetBeans) would still have incompatibility errors. To resolve this I could do one of two things:
- Checkout a new working copy of the repository, using TortoiseSVN or NetBeans (subversion 1.5.5)
- Downgrade the working copy format using a subversion recommended python script
I chose the latter; and because the “change-svn-wc-format.py” script is written in python I needed a python interpreter in order to run the script (this was easy). I downloaded the Python 2.6.2 windows installer and after installation I was immediately able to updated my working copies using the following command:
C:\>change-svn-wc-format.py C:\Apache2\docs\projectXYZ 1.5
That’s all there is to it, I hope that this helps you in solving any similar problems.