Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revisionBoth sides next revision
lirec:version_control_guide [2009-02-04 14:54] davegriffithslirec:version_control_guide [2009-02-04 15:06] davegriffiths
Line 9: Line 9:
 Before we get into using svn, there are some basic usage patterns which are common to all revision control systems. You get the most out of version control if you make it part of your daily programming routine.  Before we get into using svn, there are some basic usage patterns which are common to all revision control systems. You get the most out of version control if you make it part of your daily programming routine. 
  
-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 as normal then 'commit' changes to the remote server. You also need to periodically update your code to get changes other people have made. +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 'commit' your changes to the remote server. You also need to periodically update your code to get changes that other people have made. 
  
-The smaller the changes that you check in are, the less hassle you will cause for yourself and other people.+The smaller the changes, and the more frequently you check in code, the less hassle you will cause for yourself and other people. This is an example day's work:
  
 +  * First thing, updated to get the latest code
 +  * Fixed a bug
 +  * Commit with a message explaining what you fixed 
 +  * Start working on a new feature
 +  * While doing that, found and fixed another bug
 +  * Commit the files you changed to fix the bug (not the ones involved with the new feature)
 +  * Finish working on the new feature
 +  * Commit with a message explaining what the new feature is
 +  * Update the code again
 +  * Start working on the next feature
 +
 +And so on. The messages are important - they only need to be short one liners, but they need to explain why you changed what you did - but there is no need to explain what the changes were (you can tell this from the code, so it would be redundant information).
  
 =====SVN Basics===== =====SVN Basics=====
  
-I've set up the lirec svn repository with a dummy project called sandbox that you can play with and break to your heart's content. This guide is written for the commandline version of svn, if you use Windows and prefer buttons to press, read through this document anyway and then have a look at [[http://tortoisesvn.tigris.org/|Tortoise SVN]]. I'll update this with a guide for using that as soon as I get myself a Windows install.+I've set up the lirec svn repository with a dummy project called 'sandboxthat you can play with and break to your heart's content. This guide is written for the commandline version of svn, if you use Windows and prefer buttons to press, read through this document anyway and then have a look at [[http://tortoisesvn.tigris.org/|Tortoise SVN]]. I'll update this with a guide for using that as soon as I get myself a Windows install.
  
 Firstly svn likes to know what editor you like to use so it can launch it to ask you to input comments for your code commits. Put this in your .bashrc: Firstly svn likes to know what editor you like to use so it can launch it to ask you to input comments for your code commits. Put this in your .bashrc:
  • lirec/version_control_guide.txt
  • Last modified: 2009-02-09 11:01
  • by 81.188.78.24