Thursday, December 13, 2012

Using SVN for embedded projects. Part 1.

Writing software is complex task. In every microcontroller program you usually try to reuse previously written libraries, downloaded code and other data that is being updated. What if you are developing something in team? How to keep track of everything? Storing project files in directories eventually get messy – eventually you loose track of whats done. For instance some time you have written LCD library and used in several microcontroller projects. But eventually you found a bug, or optimized code. Normally you would have to copy new library files in every project to keep updated. This is hard when you already have dozens of projects. There is one way to stay organized by using version control software. In this case we will talk about SVN.
Subversion (SVN) is an open source system that allows controlling files and folders, keep track of changes made during time. Simply speaking SVN is a virtual file system that keeps track of every change in files, directories. It’s a smart way of storing project files either you are working alone or in team. Using this system smart you will always have things organized and never loose version of your files gain.

TortoiseSVN your repository tool

TortoiseSVN is popular tool to work with SVN system. You can download it from project site here. We won’t be discussing on how to install it on your machine as it is well described in documentation you can download here. So Assume you already downloaded installed one that fits to your operating system. For instance if you have 64-bit Windows – downloadTortoiseSVN-1.7.10.23359-x64-svn-1.7.7.msior later release if its already there. After installation click right mouse button on any folder and you should see new menu items:
This means that installation went smooth and you can continue further. Before we begin there are couple terms to be remembered. Repository andworking copy (WC).
Repositoryis a SVN itself where file structure is stored. It also keeps all changes since project creation. Every change is assigned with revision number to keep track. Each revision can be accessed ans used when needed. Changes cannot be made inside repository for this a local working copy is used. All changes are made here and then they are fixed in repository with new revision number.

No comments:

Post a Comment