Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

RE: [AVR-Chat] Source Control/Version Control for AVR projects

2011-10-24 by Alex Shepherd

> Try Tortoise SVN and work in a DropBox folder.

I would strongly recommend the Subversion system and the Tortoise SVN Client
software. You do NOT have to have a remote server as you can actually run a
local SVN repository on your PC if necessary. You can then backup that
repository to other places (DropBox) for extra security.

The really important thing about using something like SVN is the ability to
compare code to previous versions. I tend to do this BEFORE I commit a new
version to make sure I have not left any debug code or other code fragments
that should not be there as it's easy to forget these sorts of things if
you've been hunting for a bug for some time... Also it does NOT use file
locks etc like some other primitive system to. This can be a real pain if
you have multiple people editing files in the same area.

> At the moment I am trying out CS-RCS Pro (free version) by Component
> Software as recommended by a white paper I found on AVR Freaks and it
> works ok but there may be something better out there that I should look at
> before I commit a lot of time and versions to it.

I don't know this product but looking at their website they mention RCS
which is a very early revision control system that worked at an individual
file level. The enhancement to RCS was Concurrent Version System CVS which
added a layer over RCS to make it more aware of groups of files etc, but it
kept a bunch of RCS concepts and enforced certain methodologies. SVN came
later and removed almost all constraints and lets you roll-your-own regime.
They do offer some guidance in the user guide http://svnbook.red-bean.com/
which I strongly recommend you read. To some extent, SVN is more difficult
to use if you've come from RCS/CVS as things like n.n.n.n version numbers do
not exist anymore - you get to choose your own. If you're starting from
fresh you'll not have any such preconceived expectations so it won't matter.

The good thing about SVN is it stores more meta data about files and lets
you store all sorts of things. Each version is really a set of files and
directory structure. It handles files adding and deleting from the archive
much better than RCS/CVS as there is no notion of an attic like CVS which
can get in the way.

Others are using a thing called GIT. I've not used it personally but it
sounds very powerful -  but you do have to know what you're doing as it
sounds more complicated. The software dev group beside me just upgraded to
GIT from SVN and there has been a bit of conversion grief and frustration by
some. 

You needs should be handled easily by SVN and the learning curve is much
less. 

Also if you are needing to collaborate with others on a project then
something like SVN is critical. Even collaborating with yourself, you should
find it useful.

Hope this helps

Regards

Alex Shepherd

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.