Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
lirec:version_control_guide [2009-02-04 16:19] – davegriffiths | lirec:version_control_guide [2009-02-04 16:27] – davegriffiths | ||
---|---|---|---|
Line 13: | Line 13: | ||
The general idea is that code lives on a remote server, and you keep a local copy of the source on your hard drive. You edit files and compile as normal then ' | The general idea is that code lives on a remote server, and you keep a local copy of the source on your hard drive. You edit files and compile as normal then ' | ||
- | The smaller the changes, and the more frequently you commit code, the less hassle you will cause for yourself and other people in the long run. This is an example day's work: | + | The smaller the changes, and the more frequently you commit code, the better. This is an example day's work: |
* First thing, update to get the latest code from the server | * First thing, update to get the latest code from the server | ||
* Build the new code, check it works | * Build the new code, check it works | ||
- | * Start working on a new feature as normal, edit - compile - test | + | * Start working on a new feature as normal, edit - compile - test... |
* Finish working on the new feature | * Finish working on the new feature | ||
- | * Update and test the latest code on your machine | + | * Update and test the latest code on your machine |
- | * Commit your new code with a message explaining what the new feature is | + | * Commit your new code with a message explaining what has been added |
* Start working on the next feature | * Start working on the next feature | ||
Line 35: | Line 35: | ||
* Commit the new feature | * Commit the new feature | ||
- | The key point is that everyone is trying to make sure the version of the code on the server works as much of the time as possible. It's not the end of the world if the central version is broken, but it should be a priority to fix it, as it will hold people up from working. | + | The key point is that everyone is trying to make sure the version of the code on the server works as much of the time as possible. It's not a massive problem |
+ | |||
+ | If you discover a problem with the current central version, send an email around to all the people working on it, as they should avoid updating until it's been fixed. | ||
=====SVN Basics===== | =====SVN Basics===== | ||
Line 41: | Line 43: | ||
I've set up the lirec svn repository with a dummy project called ' | I've set up the lirec svn repository with a dummy project called ' | ||
- | Firstly svn likes to know what editor you like to use so it can launch it to add comments for your code commits. Put this environment variable in your .bashrc: | + | Firstly svn likes to know what editor you like to use so it can launch it to add comments for your code commits. Put this environment variable in your .bashrc |
< | < |