Jump to content

SVN V3 Suggestions

From BCI2000 Wiki

If you obtained BCI2000 via SVN (rather than by just downloading one package with all the binaries pre-built) then you should be aware of the changes that will happen when you perform svn updates after Feb 16. If you have added your own custom code to your svn working-copy, or if you are using your svn working-copy for active experiments, you should take steps to avoid large-scale changes and conflicts when you use svn.


With the release of v3 on Feb. 16, we will move the current 3.0 branch on SVN to the trunk, and the current trunk to tags/BCI2000.v2.1. Thus, when you update your source repository after that date, you will receive v3 by default.

Depending on your situation, upgrading your own source tree to v3 may or may not be advisable.

When you are in the midst of performing experiments

using your own module(s), you should not upgrade to v3 until the experiments are finished. Also, when you want to use a contribution (e.g. source module) that comes with v3 but not v2, together with your own module(s), there is no need to upgrade. Modules may be mixed between v2 and v3.

If you want to preserve your version 2 working-copy for now, and keep it under version control, you should perform a "switch" from your existing 'trunk' directory:

svn switch http://www.bci2000.org/svn/tags/BCI2000.v2.1

In TortoiseSVN, choose the "switch" option from the sub-menu, and enter http://www.bci2000.org/svn/tags/BCI2000.v2.1

If you already have a pre-release working-copy of version 3.0,

that is moving from /branches/3.0 to /trunk, so you would relocate as follows, starting in your existing '3.0' directory:

svn switch http://www.bci2000.org/svn/trunk

Again, in TortoiseSVN, choose the "switch" option from the sub-menu, and enter http://www.bci2000.org/svn/trunk

When you want to upgrade your existing v2 source directory to v3,

you should do one of the following:

a. If you want to stick with the Borland compiler, make a backup copy of your code, and use “SVN update” to update your BCI2000 directory to v3. When recompiling your module, you might get "unresolved external" messages. If this happens to you, please post on the BCI2000 forum (http://www.bci2000.org/phpbb) to get help in resolving these.

b. If you want to change compilers to use MSVC or MinGW rather than Borland, please do the following:

  • Make a backup copy of your code.
  • Use “SVN update” to update your BCI2000 directory to v3.
  • Copy a CMakeLists.txt file from a similar module to your module's directory.
  • Edit the copy with a text editor.
  • At the top of the file, change the executable name to your module's name.
  • At the bottom of the file, go to the list of source files, and modify it to contain your module's proper source files.
  • In the directory above your module's source directory, edit the CMakeLists.txt file, and add a line:
ADD_DIRECTORY(name_of_your_module_directory)
  • For the compiler/IDE of your choice, execute the "Create project files" batch file from the BCI2000 build directory.
  • Open the resulting solution/project file, and locate your module's project to work on it.