Page 1 of 1

Suggestions for the software development process

Posted: 22 May 2013, 14:37
by krutanen

I'd like to suggest some improvements to your software development process:)

[*] Switch to use a distributed version control system. It allows local copies of source code; every local repository is complete, and no repository is priviledged over others. This way not every commit has to be into the centralized repository. This speeds up development, encourages small commits, and also improves the quality of the commits to the possible centralized repository. For example, Mercurial is a good choice, and easy to learn. If you like TortoiseSVN, then there is a similar TortoiseHg. Also, an SVN repository can be converted losslessly into a Mercurial repository.

[*] Use tags to mark mature revisions in the version control. For example, when you publish a prebuilt version of a well-tested BCI2000 with new features, tag the corresponding source code revision.

The second point caters to those software developers (including me) who want to extend a stable version to do something of their own, for example a new signal processing module.

What do you think?


Re: Suggestions for the software development process

Posted: 23 May 2013, 08:24
by mellinger

thanks for your suggestions. I will look into migrating to a distributed VCS, which might indeed improve things, yes.

Regarding tags, we are actually encouraging developers to use tested versions corresponding to previous releases ( ... d_Branches), but explicitly tagging them will probably be a better way to communicate the idea.