I am fairly new to IDEA and SVN and had some questions. But first, some background. I inherited a subversion project (Someone handed me a backup of a project in a jump drive and I opened it up in IDEA).
My questions are: In the project window, If I right click on the project name I see "Synchronize 'The project name'." What does this do? Will it pull everything from the svn repository and overwrite (i.e., throw away my changes) my files or will it merge changes into my files indicating to me that these file have been merged?
What will right click on project directory->Subversion->Update Directory... do? Will it get things that are newer in the repository and merge them with my files indicating to me that some files have been merged?
Basically, what I am trying to figure out is 1) how do get the latest trunk from svn and in the process overwrite whatever I have changed locally? (that is, throw away whatever changes I have made locally) and 2) how do I get what is new from svn and have IDEA merge this with what I have so that after I oversee the merged files, I can check them in? Thank you.
"Update" will pull changes from the repository and merge them into your existing files. As long as the changes aren't too drastic, this will happen automatically, and you'll end up with files containing the most up-to-date files plus your local changes. If they're too drastic, you'll get merge errors, and the files will contain 'alternate sections' -- basically a tag followed by your version of the conflict area, followed by a tag, followed by the repository version, followed by a closing tag. You would then have to edit the file to resolve the conflict.
Synchronize will do the above, then commit any modified files back to the repository.
In neither case will your local changes be lost. This is the whole point of using a source control system.
All of this is pure Subversion stuff, by the way; IntelliJ isn't doing anything special other than giving you access to Subversion commands.