Mule : Subversion
This page last changed on Jun 26, 2006 by tcarlson.
Mule repositoryYou have several options for accessing the Mule repository, please refer to http://xircles.codehaus.org/projects/mule/repo for the available URLs. Authentication for committersSubversion uses HTTPS for security, so unlike CVS, there is no need to tunnel your connection through SSH. Authentication is only performed when you try to commit, and for that you will be prompted for a password which you should receive when added as a developer on the project. Introduction to Subversion for new (or ex-CVS) usersSubversion is basically very similar to CVS but with some important advantages and new features which will make Mule development more efficient in the long run. Please take the time to familiarize yourself with Subversion as most FOSS projects will sooner or later be making the switch over to it from CVS. To get started, take a look at the Introduction and Subversion for CVS Users The complete documentation can be found here.
Subversion clientsCommand line Subversion client ("svn")This is the official, "native" version of the client library. Sometimes it's just handy to drop into the shell and do some CLI magic. For most operations, little magic is required since resources in Subversion are adressed by URL only (branches and tags are just logical copies at a point in time), so there's no tag options or sticky settings to fiddle with. WebYou can browse and search the repository, see the latest commits, compare previous versions of files, export source as a tarball/zip and much more using the Fisheye web interface EclipseUse the Subclipse plug-in for Eclipse.
IDEAIDEA versions 5.x and onwards have built-in support for Subversion, just make sure you use the https scheme to keep things simple. TortoiseSVNA Windows Explorer shell extension. Very nice, though it sometimes bogs down a little with very large repositories when scanning for changes. SmartSVNA standalone cross-platform client GUI that uses the JavaSVN library. Obviously good if you need the same GUI for Windows, Linux and OS/X. Working with branchesA branch of the project is done by making a copy svn cp of the trunk to a subdirectory of branches: ~> svn copy https://svn.codehaus.org/mule/trunk https://svn.codehaus.org/mule/branches/foo-feature You can then move your working copy (your "checkout") between the trunk and the branch by using svn switch. While switching, your changes will be retained. ~> cd ~/mule-devel ~/mule-devel> svn switch https://svn.codehaus.org/mule/branches/foo-feature When working on a feature branch, it is sometimes wise to integrate the changes happening in the trunk into your branch, and then once the feature is done, merge the diff between the trunk and the branch into trunk. ~/mule-devel> svn merge https://svn.codehaus.org/mule/trunk -r124:145 There is a cool tool which can help you do this, called svnmerge . Is uses a Subversion property so you don't have to write down the revision numbers on a piece of paper, generated log messages from the revisions you are merging, and other goodness. Note: You may choose to branch at a lower level than the "root/trunk". Since your can switch at any level in your WC, this is not really needed, but the merging effort is smaller. Just remember to switch at the same level within the tree, or unexpected results will occur. Miscellaneous tips for working with SubversionExcessive load on your file systemSince a Subversion working copy contains base revisions of a file as well as the file itself, it tends to put increased strain on file systems since often they modify the last access time of a file on read access. Needless to say this can lead to hundreds of thousands of disk writes just because you have updated a single file in your working copy! For Windows, the solution is outlined at http://www.winguides.com/registry/display.php/50/. The setting does not do any harm and can be reverted at any time; it's obviously useful outside of Subversion too. On Linux ext2/3 can be mounted with the "noatime" option, which also avoids "write storms" that happen for no apparent reasons - especially with big CVS or Subversion trees on slower (Laptop) drives this can make a noticeable difference. Color scheme for the SmartSVN clientOut of the box the otherwise really excellent SmartSVN client has an Locate your SmartSVN/bin directory and add the following line to the SmartSVN.cfg file: vmoption=-Dsmartsvn.lookandfeel=com.sun.java.swing.plaf.windows.WindowsLookAndFeel This tells SmartSVN to use the Windows L&F. Apparently other L&Fs are possible too; supposedly you can drop a jar into the lib directory and specify the required class as described. Note that I have not tested this. |
![]() |
Document generated by Confluence on Oct 03, 2006 09:23 |