| Spikecluster SourceForge Instructions | 
|  | 
| Getting Started
  Create a SourceForge 
  user account.  In the instructions below, you are assumed to be
  logged into the sourceforge.net site with this account from a Win
  2000/XP PC.  For simplicity, they also assume that you are accessing
  the spikecluster
  repository, although it is straightforward to substitute another
  SourceForge project.Install Tortoise
  CVS on your local machine and create a folder to use as a
  'sandbox'. Enter this folder in the Included Folders field
  of the Advanced tab of the Tortoise CVS Preferences.  It
  is also useful to deselect the Prune impty folders
  option in the Policy tab of the Preferences (this can
  prevent empty modules from becoming inaccessible).Install the complete 
  
  PuTTY package, including Pageant. Setting Up SSH Access
  Generate an SSH-2DSA public/private key pair using PuTTYgen
  and assign a passphrase.Save the private key in the directory containing the
  Pageant executable.  Name it, e.g., SourceForge.ppk.Go to your SourceForge  Account Maintenance page
  and scroll to  Host Access Information. Upload the public
  key.Attempt to log into the CVS server (e.g., user@cvs.sf.net)
  using SSH.  Although the server will not allow you to actually connect,
  it will create a home directory for you on the SourceForge shell.
  This only needs to be done once for any user account.When performing CVS operations, Pageant will allow secure access
  to the SourceForge CVS server without requiring repeated manual logins.  
  To do this, start Pageant, right-click on the system tray icon and select 
  Add Key.  Select your SourceForge private key and enter the 
  passphrase. | 
| Creating a New Module via Tortoise CVSA CVS module is a collection of source code files meant to be edited
together.  They are stored and managed in a single folder on the CVS
server managing the project repository.
 
  Right click in the SANDBOX and make a new directory with
  the name of the module to be created.  Right click on this directory and
  choose CVS->Make New Module. Enter the following CVSROOT:      
  :ext:USER@cvs.sourceforge.net:/cvsroot/spikeclusterConfirm the name of the new module in the Module field and click
  and click OK.  If successful, a green check mark appears on the icon
  for the module folder on your local machine.The newly created module will appear in the 
  
  SourceForge WWW CVS browser after a delay of upto a few hours.
  It is, however, available for check out and use immediately after
  creation.
  Sourceforge does not support the Fetch List button in Tortoise
  CVS.  Use the 
  Sourceforge WWW CVS browser to see a list of available modules. Checking Out a Module via Tortoise CVSChecking out refers to the act of obtaining local working copies of
the files in a module.  If the files already exist on the local
computer and they only need to be updated to reflect any changes that
may have been made to the CVS copies, use CVS Update instead.
 
   Right click in the SANDBOX directory and click CVS Checkout.
   Enter the following CVSROOT:
   :ext:USER@cvs.sourceforge.net:/cvsroot/spikeclusterand enter the name of the desired MODULE.If a folder with the name MODULE already exists in the
   SANDBOX, the CVS files from the repository for that MODULE are copied
   to that folder.  If no such folder exists, one is created before
   copying files.  In either case, the icon for the folder should show a
   green check mark to indicate that it is managed by CVS. Committing Files via Tortoise CVSCommitting refers to the act of saving changes made to local
copies of CVS managed files.  If another developer has also modifed
the files since you last checked them out or committed them, you will
be asked to resolve any differences in the two versions.
  To make a patch file recording changes to code without altering the 
CVS repository, use CVS->Make Patch rather than 
CVS Commit.If the icon for a file in a local CVS directory has a purple ?
  mark overlaid, the file is not yet part of the CVS tree.  In this
  case, right click on it and choose CVS Add.If a file is part of the CVS tree but has been modified since it was
  last checked out or updated, it will have an orange + mark.  To merge
  the local changes into the CVS repository, select all files that need
  to be committed, right click and choose CVS Commit.
  Enter any desired comments and click OK.  The icons of the
  committed files change from orange + overlays to green check marks.
   Releasing CVS Files via Tortoise CVSReleasing refers to the act of removing local files from CVS
management.  The released files are committed to the CVS repository
and are usually deleted, although they need not be.
  Right click on the module folder and select CVS->Release.
  You will be asked whether the local files should be deleted.  Note that
  care is needed if you do not delete them, as they are no longer managed
  by CVS and extra effort will be required to merge them back into the
  repository code. | 
| Uploading File ReleasesFile releases are complete snapshots of a package made available for 
general users.  "Package" here means a self-contained subunit of the
spikecluster code.  Releases must be created and named/numbered
manually as follows.
  Collect all of the files (.m, .fig, documentation, etc.) needed
  for a user to install the code on a local machine and zip them into 
  a single file.  Include the release number in the name of the zip file.
  Place the zipped file at the root of your hard drive for easy access.FTP to upload.sourceforge.net and login as
  anonymous with your email address as the password.  Set the
  FTP client to binary mode (bin on command-line clients).Change the current directory on the remote server to
  /incomingand upload the release zip file.Go to the 
  Project Admin page and select Releases.  Scroll down
  to File Release Packages.  If this is the first time this
  package is being released, first enter a new Package Name at the bottom of
  the page.  Once a package has been defined, the release zip file uploaded
  above can be added using Add release, entering release notes/details
  and selecting the newly uploaded file.  Note that there may be a delay of a 
  few minutes after the upload before the file appears on this WWW page.
 Updating the WWW PageThe project WWW space (and upto 100 MB of storage space) are on the
UNIX shell server shell.sf.net and can be accessed via ssh using 
the same USER/PASSWORD used to access a user account on SourceForge.net.
 5 MB of personal 
space for USER is located on this server at
 while the 100 MB of project space is located at    /home/users/U/US/USER/,
 and the WWW space aliased by http://spikecluster.sourceforge.net 
is at    /home/groups/s/sp/spikecluster/,
 The quotas are soft; i.e., they can be overrun temporarily.    /home/groups/s/sp/spikecluster/htdocs/.
 
To upload files to these directories, use SCP/SFTP to securely copy files
to shell.sf.net.
Uploading ScreenshotsScreen shots must be JPG, GIF or PNG format files of ≤ 300 kB,
between 150x150 and 640x480 (width x height).  6 screenshots of this
size are allowed project via this mechanism. 
  Go to the 
  Project Admin page on SourceForge and select Screenshots.Image files meeting the above specifications can be uploaded
  from this page.  Screenshot files can also be reordered and deleted
  here. | 
| Code Revisions and Version Numbers
  Every file in a CVS repository carries a revision number which
  is incremented every time that file is committed (the full revision
  number is actually 1.###, but ordinarily only the ### part changes.
  This process happens automatically every time changes are
  committed.A file or collection of files can further be tagged at
  any given time to provide a development snapshot.  This is
  accomplished in Tortoise CVS by right-clicking on the file(s) and
  selecting CVS->Tag.  Modules should as a rule be tagged
  when they are included in a file release to allow easy recreation of
  the code state for any release.The change history for text files is summarized (by Tortoise
  CVS) using the CVS->History, CVS->Revision Graph
  and CVS->Annotate commands.  The History and
  Revision Graph commands show the time, author and comments
  for each revision made to a file.  The Annotate command
  shows the revision and author responsible for each line in the
  file.Particular revisions/tags (and branches; see notes below) for
  any file or collection of files can be retrieved using CVS->Update
  Special.CVS Branch allows more complex code development paths. Backing Up Project FilesThree sets of files should be backed up: the CVS repository, file
releases, and project directories.  Restoring data from these backups is
described in the SourceForge documentation.
  The entire CVS repository can be backed up by saving a copy of
  the nightly tarball at:
  
  http://cvs.sourceforge.net/cvstarballs/spikecluster-cvsroot.tar.bz2.
  This file is updated once a day when write activity occurs in the
  CVS repository.As file releases are not managed by SourceForge, local backups
  should be saved when they are uploaded to SourceForge.The project directories (including www space) can be backed up
  by ssh'ing to shell.sf.net and typing: 
  tar -cvzf spikecluster_project.tar.gz /home/groups/s/sp/spikecluster/The resulting file can be copied off of the SourceForge shell via
  SCP. | 
| LinksCVS/SourceForge Overview
SourceForge   
 CVS (Version Control for Source Code)SourceForge   
 Guide to the File Release System
 Manual     
 CVS "Cederqvist"
 Manual     
 CVS "Red-Bean"
 
SSH Access
Software   
PuTTYSourceForge
SSH Key Generation and Usage
 
Shell/WWW Services
SourceForge
Data Backup and RestoreSourceForge
Project Web, Shell and Database Svcs
 SourceForge   
Screenshots
 
Tortoise CVS
SourceForge   
CVS Client: TortoiseCVS with PuTTYTortoiseCVS   
Tortoise CVS with Sourceforge
 
WinCVS
SourceForge
CVS Client: WinCvs with PuTTYSoftware   
WinCVS
 
Matlab Source Control Integration
WWW Forum  
Matlab & CVSSoftware   
PushOK CVS SCC Proxy
 
 |