WebGUI is no longer hosted in Subversion, so please see the Git page for updated information.
The first thing you'll need to do to start hacking on WebGUI is to do a checkout.
cd /data/WebGUI;
svn checkout https://svn.webgui.org/plainblack/WebGUI ./
This will download the entire WebGUI core at its current state onto your computer. This is called your "working copy".
If you prefer to download one of the branch releases (say 7.3), use the following:
svn checkout https://svn.webgui.org/plainblack/branch/WebGUI_7.3 ./
Everytime someone changes the SVN repository, a new revision is created. In order to make sure you have the latest revision of the codebase, use the svn update command.
cd /data/WebGUI;
svn update;
This will update your working copy to the latest revision in the repository.
Now you've changed some code in your working copy, fixed any bugs you might have made, run the regression tests, and are ready to add your changes to WebGUI. In order to add your code to the repository, you must commit your changes using svn commit
cd /data/WebGUI;
svn commit
This will launch a text editor for you to add some comments about what you are committing, for example:
fix: Fixed a bug in Collaboration Systems where dates were not properly formatted
rfe: Added ability for user to configure how Collaboration System dates are formatted
Updated some documentation for WebGUI::Session::Date
At the bottom of the text editor window, you'll see a list of the files that have been added or changed in your new revision. Read the help for svn status to see what the symbol before the file path means.
If you do not have permission to commit to the repository, but still want to fix a bug or implement an RFE, you can help by submitting a patch. You can create patches in the unified diff format using svn diff. Follow the steps above for getting ready to save your changes (make sure there are no bugs, run the regression tests), but instead of svn commit do the following:
cd /data/WebGUI;
svn diff > patch.txt
You now have a unified diff at /data/WebGUI/patch.txt. You can apply this patch to other WebGUI instances by doing the following:
cd /data/WebGUI;
patch -p0 < /data/WebGUI/patch.txt
Read man patch for more information on how to apply patches.
Find the revisions that you want to compare using SVN Web (see below). Use the following:
svn diff -r 4285:4287 https://svn.webgui.org/plainblack/branch/WebGUI_7.3
Head (or trunk) is stored at https://svn.webgui.org/plainblack/WebGUI. This is where all new development takes place. New branches get started in here. You probably only want to checkout this branch if you are doing bleeding edge development.
Branch development takes place in https://svn.webgui.org/plainblack/branch/. If you want to follow the development of a specific branch, this is what you will want to checkout.
Stable releases are in https://svn.webgui.org/plainblack/releases/. Use these directories if you need a specific release.
WRE Build files are in https://svn.webgui.org/plainblack/wrebuild.
You can review the revision log online via svnweb. Visit https://svn.webgui.org/svnweb/plainblack. Find the directory that you are interested in then click on "View Revision Log" at the top left of the screen to view changes made to the directory and subdirectories.
Keywords: Development subversion