About SVN
Subversion is a free/open source version control system. That is, Subversion manages files and directories, and the changes made to them, over time. http://subversion.apache.org/
General SVN documentation is available here: http://subversion.apache.org/docs/ and a nice online book can be found here: http://svnbook.red-bean.com/.
- In order to access an SVN repository, you must install a special piece of software called an SVN client; SVN clients are available for most any operating system.
Browsing SVN
You can browse the source repository with a web browser: http://chianti.ucsd.edu/svn/cytoscape
SVN Access
If you do not have a username on grenache you can check out code anonymously. Note that you are not able to check code IN through chianti. This is meant to be a public resource for people other than cytoscape developers.
svn co http://chianti.ucsd.edu/svn/cytoscape/trunk cytoscape
If you're a cytoscape developer, you should use grenache to check code in and out.
svn co svn+ssh://grenache.ucsd.edu/cellar/common/svn/cytoscape/trunk cytoscape
If this doesn't work, you may need to specify your user account, as defined on grenache. For example:
svn co svn+ssh://username@grenache.ucsd.edu/cellar/common/svn/cytoscape/trunk cytoscape
Or, to check out a specific branch:
svn co svn+ssh://grenache.ucsd.edu/cellar/common/svn/cytoscape/branches/Cyto-2.7.x_release_branch/ cytoscape_2_7
SVN Access in Eclipse
1. Setup subclipse plugin: http://subclipse.tigris.org/
Update site for Eclipse 3.2/Callisto, 3.3/Europa, 3.4/Ganymede, 3.5/Galileo +: http://subclipse.tigris.org/update_1.6.x
Installation instructions can be found here: http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA
In Eclipse, Window>Preferences>Team>SVN. Set SVN Interface to "JavaSVN (Pure Java)"
2. Check out project from UCSD Repository (chianti or grenache):
File --> New --> Project
- Select "SVN"
- Create new repository. If you have developer account, URL is:
svn+ssh://grenache.ucsd.edu/cellar/common/svn
Otherwise, you can check out project anonymously from:
http://chianti.ucsd.edu/svn
- You can use default values for port number etc.
ID and password are required on grenache, and not required for anonymous checkout on chiante. These are same as CVS id & password.
3. Check in code
- - Almost same as GUI for CVS. Select "Team" menu item for more detail.
Tips and Troubleshooting
General advice for those who have difficulties getting SVN access via the Subclipse in the Eclipse environment. These are not meant to be sequential steps. These are just 4 independent tips that address a range of issues, in no particular order. If just doing #1 works, then you're done. But if not, then #2-4 provide other things to try, leads derived from solutions found in various forums and FAQs.
1. SVN Interface:
In Eclipse, Window>Preferences>Team>SVN. Set SVN Interface to "JavaSVN (Pure Java)"
2. Define SSH Client for Subversion:
Edit C:\Documents and Settings\*user*\Application Data\Subversion\config and add "ssh = C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" after "[tunnels]" heading.
Set environment variable "SVN_SSH" to "C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"
3. Request a new password from MikeSmoot. Some old passwords may not work (mine didn't!)
4. Try alternative plugins:
TortoiseSVN: http://www.tabaquismo.freehosting.net/ignacio/eclipse/tortoise-svn/subversion.html
Subversive: http://www.eclipse.org/subversive/ use this url for the Remote Site in the update manager: http://www.polarion.org/download/p_subversive/update-site/
Common Error Messages:
- Subclipse:
- "tunneling" problem. Solution = see #1 above.
- "malformed network data" = may be password problem
- "std output (err)" issue = may be password problem
What to Check In
In general you should only check in source files and the files needed to compile the source (e.g. library jar files). You should NOT check in generated files such as jar files that you compiled in your project or .class files. Since these files are created directly from the source, there is no need to check them in and is a waste of disk space.
It can also be problematic to check in IDE configuration files. It is OK to check in the configuration file for that particular project, but anything that is specific to your machine (e.g. lists a specific class path) should be avoided since this will not work in other people's configurations.
Creating New Projects
Given the current configuration of our system, it is rare that you should be creating a new top-level project. In general, you will want to add files to an existing project rather than creating a new project. This holds for new plugins or libraries for cytoscape. To add new files, simple check out the existing project, move your new files into the directory that you'd like to add to the project, and then run svn add directory-to-add to add the files to the project.
If you find that you do need to run the svn import command, then please contact MikeSmoot before doing so.