Suggestions for the software development process

Forum for software developers to discuss BCI2000 software development
Posts: 14
Joined: 01 May 2013, 08:18

Suggestions for the software development process

Post by krutanen » 22 May 2013, 14:37


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?


Posts: 1172
Joined: 12 Feb 2003, 11:06

Re: Suggestions for the software development process

Post by mellinger » 23 May 2013, 08:24


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.



Who is online

Users browsing this forum: No registered users and 2 guests