Help with svn integration issues

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.

Comment actions Permalink

I am continuing to have strange svn issues. In my current environment I use TSVN and "it just works." Whenever I try to do something using svn from within PHPStorm, I get results that I don't understand. For example, when I commit a file, I get "results" that are warnings about paths and files not found. What causes this? My website running from my working copy runs just fine, so Apache/PHP finds everything just fine.

When I try to integrate directories or branches, I get messages about "cannot do on multi-revision working copies" or something similar. Updating does not help. I have been able to merge successfully using the svn command line client. But within PHPStorm everything is a mystery.

I am wondering if these issues are caused because I am trying to merge different trees, which supported perfectly well in TSVN.

I find I have spent much time getting nowhere, and am about ready to give up on PHPStorm, even though I like the editor. If I don't get some answers on this, it looks like I will be forced to continue with my 2006 vintage environment for the time being, as nothing seems to compare to TSVN in usability.

Comment actions Permalink

I am actually changing my mind and will probably go with your product, as I find ways to live with the perceived shortcomings of PHPStorm. I say "perceived" because it is likely only my lack of familiarity.

I am thinking I am going to buy a license, as I have found some workarounds. For diff on demand I can use FileMerge; for merging, I might be able to just keep using TSVN.

You said in the issue that merge should mimic the command line, option 3. This would be what I want. And you did comment about the proper tree mapping. I think this could be the case, as what I had to do was "something special" to accomodate another need. Here is the structure of the checkout:

Project Name

     current branch

     stable branch

     production branch

There is one file in the parrent directory of current branch which has security information and is thus outside the document root. But I found if I did not check out the entire project structre as shown, when debugging the debug fails when it tries to trace into that file as it is "outside the project". So I had to make it inside the project. This gets debugging working.

But now when I try to merge changes betwen current and stable, I get all the tree conflicts or ancestry problems. I suppose this might be because the way it looks now, in the development code base it does not look like these branches have common ancestry. Yet this is not a problem for TSVN operating on the exact file structure. Nor is it a problem for the svn command line client. So if TSVN  and svn CLI "just work", why does the PS integrated svn not be able to.

I have not felt necessarily that this response should be part of the issue you opened, so I am responding here.

And as I said, I am really liking many of the other attributes of PS. I am keeping track of other things I notice as "issues" and sending them in. I have already received some response from Andriy and Maxim on my latest batch, but have not had time to react to and respond to their response, due to the fact that I am covering for an employee on vacation as well as trying to keep up with my own responsibilities.



Please sign in to leave a comment.