|
Size: 3234
Comment:
|
← Revision 14 as of 2010-08-03 10:37:00
Size: 5436
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| The goal of the Subversion (SVN) project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license. Subversion is meant to be a better CVS, so it has most of CVS's features. Generally, Subversion's interface to a particular feature is similar to CVS's, except where there's a compelling reason to do otherwise. [http://subversion.tigris.org/] |
* 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. |
| Line 5: | Line 7: |
| 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. General SVN documentation is available on this [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=254&expandFolder=254&folderID=257] and a nice online book can be found here: [http://svnbook.red-bean.com/]. | === Browsing SVN === |
| Line 7: | Line 9: |
| You can browse the source repository with a web browser: [[http://chianti.ucsd.edu/svn/cytoscape]] | |
| Line 8: | Line 11: |
| == SVN Access == | === SVN Access === |
| Line 10: | Line 13: |
|
If you're remote you can check code out using ssh: {{{ svn co svn+ssh://gamay.ucsd.edu/cellar/common/svn/cytoscape/trunk cytoscape }}} You can check out code anonymously: |
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. |
| Line 20: | Line 18: |
| You can also browse the source repository with a normal web browser: |
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 }}} |
| Line 22: | Line 23: |
| [http://chianti.ucsd.edu/svn/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 }}} |
| Line 27: | Line 36: |
| 1. Setup Subversion plugin | 1. Setup subclipse plugin: [[http://subclipse.tigris.org/]] |
| Line 29: | Line 38: |
| [http://subclipse.tigris.org/install.html] |
* 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)" |
| Line 31: | Line 42: |
|
Remote site * For 3.1: [http://subclipse.tigris.org/update_1.0.x] * For 3.2: [http://subclipse.tigris.org/update_1.2.x] (Still beta?) 2. Check out project from UCSD Repository: - File --> New --> Project - Select "SVN" - Create new repository. URL is: |
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: |
| Line 42: | Line 47: |
| svn+ssh://gamay.ucsd.edu/cellar/common/svn | svn+ssh://grenache.ucsd.edu/cellar/common/svn |
| Line 44: | Line 49: |
|
- You can use default values for port number etc. - ID and password: same as CVS id & pw for gammay |
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. |
| Line 51: | Line 59: |
| == Tips and Troubleshooting == | === Tips and Troubleshooting === |
| Line 53: | Line 61: |
| General advice for those who have difficulties getting SVN access 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. | 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. |
| Line 64: | Line 72: |
| 3. Request a new password from Mike Smoot. Some old passwords may not work (mine didn't!) | 3. Request a new password from MikeSmoot. Some old passwords may not work (mine didn't!) |
| Line 66: | Line 74: |
| 4. Try alternative plugin: TortoiseSVN: [http://www.tabaquismo.freehosting.net/ignacio/eclipse/tortoise-svn/subversion.html] |
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/ |
| Line 75: | Line 86: |
|
== 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. |
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.