Subversion
From XOCPWiki
The URL of the Subversion repository for the project is http://xo.orderedpixels.com/xo-cp/. A more user-friendly interface for viewing the code, change logs, etc. on the web is available here.
Don't be too hesitant to commit changes to subversion. They can always be reverted later.
Contents |
Checking out the Code
You may check out a copy of the latest version of the Classroom Presenter activity with the following command:
svn co http://xo.orderedpixels.com/xo-cp/trunk/ClassroomPresenter.activity
Committing revisions to the code will prompt you for your password. If your Subversion username is different than your local username, you will need to specify your Subversion username with the --username option the first time you do a commit.
Important information about committing to the trunk
Before you commit code to the trunk, please perform the following steps:
- Make sure that the files in your working copy that you have not modified are up to date by running
svn up. - If someone else has modified files that you've also modified (i.e.
svn upreports conflicts or merges):- In the case where subversion automatically merged files, please open the file, look at it, and briefly check to make sure that the changes were sane
- In the case of a conflict, merge the files manually. DO NOT tell subversion that conflicts have been resolved until you have properly merged the files.
- Once you are sure that your working copy incorporates all of the changes that have been made in the trunk in addition to your modifications, run the application and make sure that it works. Check the log output and make sure that your changes do not cause exceptions to be thrown.
- Only once you have confirmed that your commit will not break any part of the application, go ahead and commit.
These steps are important to avoid having to make major repairs to the trunk at this stage in development. We need working code by the end of the week; we can't afford to keep doing major subversion maintenance at this point.
Try to keep commits small and frequent. Don't try to implement a whole set of features at once which could require a major merge.
Branches
This area will document the current development branches. All branches can be found in the SVN repository at /xo-cp/branches.
Current Branches
sharing-unstable - Made on 04/09/08. A development branch for coding all networking functionality, including activity sharing and slide deck sending/receiving. The goal of this branch is to merge often with the trunk as new functionality is added. This will prevent the two code paths from deviating to the point where one big merge would be a tremendously daunting task.
Creating a Branch
If you are going to be making large modifications to the code that will likely break the core functionality, you should create a branch to work in. To do so, first make sure you have checked out the entire repository (xo-cp). This directory should have trunk, tags, and branches directories in it. To create a branch from the trunk, execute the following command:
svn copy trunk/ClassroomPresenter.activity branches/mybranch
Replace "mybranch" with the name of your branch.
Now, cd to your branch directory, and do an svn commit. This will add your branch to the repository.
This same method can be used to tag particular revisions, by copying the trunk branch to the tags directory.
Tags
This area will document all tagged version of the software.
Current Tags
there are no tagged versions currently
Creating a Tag
(see "Creating a Branch" above)
Additional Resources
- Subversion home page
- Version Control with Subversion - excellent Subversion documentation. The entire book is available for free online.
- TortiseSVN - a nice Subversion GUI for Windows
