Using TortoiseCVS with http://eeg.sf.net
This short how-to will help you download and keep updated on the
project files at http://eeg.sf.net/. In about 5-10 min, depending on
your internet connection, you will have a working installation of
tortoiseCVS and a complete copy of any eeg.sf.net project files.
Although CVS provides many levels of sophistication for project
development, you can use the basic functions of CVS to manage your
files, even if you never plan to develop any files on the project! I
hope you enjoy the simplicity and efficiency of using tortoiseCVS!
Collaboration on an open source project often involves many people, in
diverse locations, writing similar or complementary project code at
the same time. One way to do this, including concurrent edits on the
same file, is to use
CVS, the Concurrent
Versions System. All the code files are stored on a central CVS
repository, located on a central file server, available on an intranet
or the internet. Developers use a CVS program to connect to the server
and download or upload files. A great CVS program for Windows is TortoiseCVS.
Get TortoiseCVS
At
http://www.tortoisecvs.org,
download the
current version. Run the setup wizard and you will soon have
TortoiseCVS hooked into Windows Explorer (after you reboot the
system).
Download the current project files
TortoiseCVS works right within Windows Explorer. Start by making a
folder on your computer where you want to keep the project files
(e.g., MyDocuments\matlab\). Open this folder and right-click to view
the context menu - you will discover that TortoiseCVS adds some items
to the right-click menu - now choose CVS Checkout.
The Checkout Module dialog box appears (see below). Paste the
following text into the CVSROOT field:
:pserver:anonymous@eeg.cvs.sf.net:/cvsroot/eeg
This will fill many of the GUI fields automatically. In the
Module box at the bottom, type bioelectromagnetism.
(The modules to choose from are listed as root folders on the ViewCVS page. Please note
that the 'eeg_toolbox' and the 'mri_toolbox' modules are no longer in
active development, because all of their project files are now
integrated into the 'bioelectromagnetism' module.) With the dialog
boxes filled, you can now click OK to download the project!
(You should get a warning about using an empty password, which you can
ignore.) Just before you do that, take a quick look at some notes
below on those other config tabs.
Revision: At present, there is only one revision, the HEAD
branch of the CVS repository. In future, there may be alternative
RELEASE branches in the CVS repository and the download instructions
will indicate the tag for the latest RELEASE. In that case, you may
need to specify the RELEASE branch TAG name. (CVS provides options
for developers to take snapshots or branches of their repository. The
main line or trunk of the development project is always the HEAD
branch. Most often, branches are used to create snapshots of the
repository for specific public releases. The eeg.sf.net project does
not need this level of sophistication at this time.)
Options: A useful option is to change the "checkout" into an
"export". This is useful for anyone who wants a static copy of the
project, without any further CVS management of this copy (see below on
the facility to update the project using CVS). Although CVS will not
manage or track any files in this export copy, it is still possible to
update because you can always delete all the files and export the
project again, at a later date. For most users, the "checkout" option
will be the preferred method.
TortoiseCVS makes a subfolder for every folder in CVS and downloads
all of the the project files. In Windows Explorer, TortoiseCVS marks
the folders and files with green checkmarks because they are both on
the server and on your computer (unless you use the 'export' option,
see comment above). You can move and rename this folder without
breaking its connection to CVS. Never delete the folders called 'CVS'
because they contain all the management information for CVS. If you
do that, it will break the CVS connection to the repository.
Keep your copy of the code current
You've installed TortoiseCVS, and had it download the project
files. But that was yesterday! The project developers have changed
some of the project files and uploaded more files (to get detailed
email notification about these changes, subscribe or view the archives
on the eeg-developers list). So now the copy on your hard drive isn't
current. This is how to solve this problem with TortoiseCVS. In
Windows Explorer, right-click the 'bioelectromagnetism' folder and
choose CVS Update. Tortoise CVS will update your copy - it will
update old project files (unless you changed them) and download new
project files from the CVS server.
What happens when someone edits a file?
Here's what the icon colors mean.
Unmodified (Green)
This file is the same on the CVS server. If you download all the
source code, never edit any of it, and click CVS Update every
few days, all the files will stay Unmodified.
Modified (Orange)
If you edit a file, it will change to Modified. It's still safe to right-click and
choose CVS Update. TortoiseCVS won't eliminate your changes. It
will update all the Unmodified files and leave your Modified file alone.
Conflict (Red)
You changed this file, and it also changed on the server. If a
developer updates a file that you have already modified, and you want
to check it into the CVS repository, then your CVS file will not get
checked in. It will be marked Conflict. At this point, it's your job to merge your
changes with the changes from the server (you had better talk to the
other developer(s) who have modified that file).
Bugs, suggestions, and active contributions.
Please send email to eeg-users@lists.sf.net with any bug reports or
suggested changes for the project tools. If you really want to
actively develop the tools, please request developer access to the CVS
service so you can checkin your changes (you will need to setup an
account on sourceforge). Although active development is not trivial,
it is not impossible.