Tuesday, April 28, 2009

Eclipse & SVN

What a bear Eclipse/Subversive/SVN is.  When using svn+ssh with Eclipse, there is a file which must have group-writable permissions:

/path/to/svn/db/rep-cache.db

This took a long time to debug.  I hope that none of you have this insane problem, but if you do, the symptom of this problem is that Eclipse will not allow you, using Subversive, to commit files.  Something about writing to a readonly database.

Saturday, April 25, 2009

Website Development Trials

So much to say, since I've hated website development from the moment I laid eyes on Perl/Kerberos.

Problem 1: Choosing an IDE

This has been an epic decision...In the end, I've settled on a PDT-Eclipse-Zend Debugger all-in-one from Zend.  This doesn't use Zend Studio, which is a $400 product that doesn't appear to do anything significantly better than PDT--as least for the stuff I plan to use it for.

I've had to do a lot to get things working, though, on both the client and server sides.

* Get the all-in-one package.

* Install Eclipse plugins JSEclipse (from Adobe Labs), Subversive (from eclipse.org), SVN connectors (from Polarion).

* Install SVN on the server (1.6.x) from source.  No big deal.

* Install SVN on the client (1.6.x for MacOS X).  Not a big deal once you find the binary .dmg file.

* But, to get the server-side SVN installation working, I had to get SQLite...So I did.  And installed it from source.  Again, no biggie.

* Then, SVN would compile and install.

[We now take a break so I can rant about why I chose the Zend-provided PDT all-in-one...]

So, the problem with Zend is that it didn't offer too much that was a big deal.  Sure, it might be nice to have custom PHP-formatting.  But that doesn't seem like a $400 advantage.  Then, using bare Eclipse/Ganymede and trying to install PDT was terrible, because some of the dependencies for Zend Debugger were broken, and WTF good is PDT without the Zend Debugger?

Exactly.

So, I tried getting the PDT all-in-one from Zend.

That worked.  So, I'm sticking with it.

[...and now we return to our regularly scheduled program.]

JSEclipse is nice, so it seems.  But, you had to hook up JS files to be opened with JSEclipse.  Again, not too bad, once you find the install directions.

Then, I tried installed the Subversive plugin.  I'm familiar with Subclipse (from tigris.org).  So, I figured, how hard could Subversive be?  Ha!  Well, after installing Subversive, I wasn't able to connect to any SVN repositories because the "SVN Connector" was missing.  I had to hop over to polarion.com to get the connector plugins.  And, even then, it didn't work.  No one mentioned that the pure-Java SVNkit was the addon I needed.

Finally, after all of that, I can connect.  One feature I like so far is the ability to "automagically" check out only the trunk of a project, because it will "detect project structure" and do "smart things" if it seems the usual TTB directories (trunk, tags, branches).