Version 2, last updated by Aryan at August 26, 2008 02:59 UTC
SVN Info about Subclipse and TortiseSVN
Intro to Subversion
SVN for CVS People
Subversion operates on changesets rather than individual files. As a result, revisions cover changes across multiple files. Furthermore, revisions persist
General Practices
- When renaming a file, use the SVN Rename command. This preserves history.
- Please write messages in the log. This helps observe progress.
- Do not commit compiler output. This output changes almost every time someone compiles, and it will cause merge headaches all around.
- Commit project shared options. Do not commit personal options.
SVN/Trac
- It is possible to use many of the TracWiki items in the SVN log. The results of which will appear in the Timeline. This can be especially useful when closing tickets with particular commits.
SVN Clients
There are two convenient ways of checking out the repository: TortiseSVN and Subclipse.
TortiseSVN
TortiseSVN can be downloaded here. Make sure to get the latest version. Make sure you do not install the .NET hack as it is incompatible with all other SVN clients. Installation requires a reboot.
To check out the code,
- Create a new folder somewhere convenient.
- Right-click on the new folder. Choose SVN | SVN Checkout.
- Use the following URL: https://trac.cs.unc.edu/svn/games
- Use your CS login and password. If your UNIX password does not work, try your Windows password.
- Done!
To update relative to the repository,
- Open the root folder containing the checkout (the folder containing trunk, tags, and branches).
- Choose File | SVN Update.
- Review the status window for any conflicts. Resolve any conflicts.
- Done!
To resolve conflicts,
- Right click on the conflicted file in the update status window. Choose an appropriate option.
- If you choose to edit the conflicts manually, the TortiseMerge program will load.
- You can step by step pick blocks from your version and the latest version.
- Be sure to save your changes and mark the file as resolved before exiting the program.
To commit changes and to add to svn:ignore,
- Perform an update.
- Open the root folder containing the checkout (the folder containing trunk, tags, and branches).
- Choose File | SVN Commit ...
- Add checkboxes to added files. Right click on permantently undesired files (undesired in the sense of commiting, not keeping) (e.g. compiled output files and folders), and choose the apropriate ignore option.
- Write a useful commit message.
- Click Ok. When prompted, enter your username and password (if this information was not saved). This should be the same account information as used for Trac.
- Done!
Subclipse
Subclipse can be downloaded through the Eclipse updater. Directions for installation can be found here.
To check out the code,
- Open the SVN Repository Exploring Perspective
- In the SVN Repository frame, click on the Add SVN Repository toolbar button
- Use the following URL: https://trac.cs.unc.edu/svn/games
- Expand the directories to find a folder containing a .project file. Right-click on this folder. Choose Checkout....
- Ensure Checkout as a project in the workspace is selected. Give the project a unique name.
- Click Next. Click Finish.
- Done!
To update relative to the repository,
- Open the Flex Development Perspective
- In the Flex Navigator frame, right click on the project root node. Choose Team | Update
- Resolve conflicts, if any.
- Done!
To resolve conflicts,
- (Steps to follow...)
To commit your changes,
- Perform an update
- Open the Flex Development Perspective
- In the Flex Navigator frame, right click on the project root node. Choose Team | Commit...
- Add checkboxes to added files.
- Write a useful commit message.
- Click Ok. When prompted, enter your username and password (if this information was not saved). This should be the same account information as used for Trac.
- Done!
To add to svn:ignore,
- Open the Flex Development Perspective
- In the Flex Navigator frame, right click on the undesired file. Choose Team | Add to svn:ignore
- Follow any on screen instructions.
- Your changes will not take effect until you commit at least the containing folder.