Contents
SVN Basics
Subversion (SVN) is a version control system. It is designed to be distributed, concurrent and expandable.
Version Control with Subversion is a wonderful book to help on making the first steps inside Subversion. You may also ready it online.
SVN Client
To work on the FCKeditor SVN, you need a SVN client software. There are two options that we recommend:
- TortoiseSVN (strongly recommended), for Microsoft Windows.
- The official SVN client, included in most Linux and BSD distributions; available for Linux, BSD, Mac OS X, and Windows.
Checkout the FCKeditor trunk
Checkout is the act of downloading the FCKeditor code from our SVN server inside a local folder in your computer. This folder is called "local copy".
With TortoiseSVN
- Create an empty folder, which will be your local copy root. You may give any name for it, like "fckeditor".
- Right-click on the new folder and select SVN Checkout....
- In the URL of repository, paste the following URL:
http://svn.fckeditor.net/FCKeditor/trunk/
With SVN
- In the command line, go to the folder where you want your local copy folder reside in.
- Type the following to checkout the trunk:
svn checkout http://svn.fckeditor.net/FCKeditor/trunk/ fckeditor
Your local copy will be found in the "fckeditor" folder.
Updating your Local Copy
At any moment, you may update your local copy to grab the code changes introduced in the repository since the checkout or the last update call.
With TortoiseSVN
- Right-click on your local copy folder.
- Select SVN Update.
With SVN
- In the command line, move to your local copy folder.
- Type:
svn update
Creating Patches
Suppose you are working to provide a fix for a ticket, for example ticket number 240. The first thing to be sure is that your local copy is fresh, so update it (see above).
Then, start coding inside your local copy. You can do any kind of change. Everything will be done in your computer locally. Nothing will automatically end up in the SNV server. So, you can safely play with the code.
Once you have completed coding and well tested it, you may return your changes back to the SVN, so it will be available to everybody (other than being a license requirement :). At that point, you create a patch file to attach to the ticket.
With TortoiseSVN
- Right-click on your local copy folder.
- Select Create patch....
- TortoiseSVN will list all files that have been changed. You may select the files that are relevant to the patch. Remember that each patch must be relative to a single ticket or feature. Do not mix ticket fixes or several different features.
- Clicking "Ok", save the patch file with the appropriate name. If the patch is supposed to fix a ticket, just use the ticket number for it, like "240.patch".
The patch file is ready to be attached to the ticket.
With SVN
- In the command line, move to your local copy folder.
- Type the following, supposing you are creating a patch file for ticket 240:
svn diff > 240.patch
The patch file is ready to be attached to the ticket.
Applying Patches
Suppose you have a fresh local copy of the FCKeditor trunk repository and you want to apply a patch found in one of our tickets.
With TortoiseSVN
- Right-click on your local copy folder.
- Select Apply patch....
- Select the patch file. You will be presented with the "Diff" tool, so you can review all changes.
- In the "File patches" window list, right-click and select "Patch all".
With SVN
The official SVN program doesn't include a built in command to apply patches. To do that, you can use the regular "patch" Unix utility:patch -p0 < patch_file
You may also find a Windows port for the patch program.