I am generally satisfied and would purchase PHPStorm, except for one thing which I have not sorted out yet. I am having trouble with the svn integration.
My goal is to move from my previous development environment, which is Zend Studio 5.5 running in a Windows XP VM on my Mac. I really want to get rid of dependence on the VM for mission-critical functions! I use tsvn in Windows, and have been using it for about 6 years (3 years on real Windows and 3 years in the VM). It works for me.
Unfortunately, I keep getting all kinds of confusion in trying to use the svn integration in PHPStorm. The first troubling issue is that when I try to "Commit Changes" from the VCS menu, I get messages that "79 files have issues. When doing a diff on the files with issue, I see log entries that vastly differ because one of the windows shows commits done on one branch, while the other window shows commits to another branch. This is very confusing to me and I have no idea what it means or how to fix it. What I have tried several times is to checkout a new working copy. But that does not help.
As a interim step, because of this confusion, I am simply committing the changed files, and ignoring these errors. But it makes me very nervous about using the working copy that PHPStorm is using as my development working copy. So in the meantime, after doing the commits of changed files, I update my previous working copy in the VM, and proceed through the promotion procedures to promote the changes to the various quality domains that we use.
I am very comfortable with tsvn having used it so long. That is not to say that I feel I am an expert -- just that I know how to do what I need to do, and get the job done.
The second issue is that doing an svn merge from within PHPStorm looks at worst unsupported and at best difficult. I have seen others comment that they have found this to be true, and the general consensus seems to be "don't try to use svn from within any IDE".
Bottom line: while PHPStorm by itself looks like a worthy successor to my previous IDE, the above glitches with svn integration mean that at the moment I still need to rely on my VM, even needing extra procedures to work in both environments. If I cannot resolve this situation, I would be simplest to just keep my old environment, which works fine except for the dependence of the VM and that it is so far back-level and not well supported.