| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README_CVS_ARCHIVE.md | 2026-10-10 | 6.0 kB | |
| corewar.zip | 2026-10-10 | 2.2 MB | |
| Totals: 2 Items | 2.2 MB | 3 | |
Corewar SourceForge CVS Archive & Migration Guide
1. What is this Archive?
This archive (corewar.zip) contains the complete, raw historical CVS (Concurrent Versions System) repository for the Corewar project on SourceForge (https://sourceforge.net/projects/corewar/).
Inside the archive, you will find the original RCS master files (*,v) containing full revision histories, commit logs, author attributions, and branch/tag metadata for all Corewar modules up through October 12, 2005 (the date of the last active commit to this repository before development ceased, well before SourceForge set the service to read-only in 2017):
pmars: The classic Portable Memory Array Redcode Simulator (C codebase, documentation, and sample warriors).jMARS: The Java-based MARS simulator and visualizer.pQmars: The Quantum Coreworld simulator, web administration scripts, and documentation.CVSROOT: Historical CVS server administrative configurations and scripts.
2. Why is this Archive Provided?
- Deprecation of CVS on SourceForge: CVS was the original version control system on SourceForge when the platform launched. In 2017, SourceForge made all CVS repositories read-only. In 2025, SourceForge decommissioned CVS access entirely (see SourceForge's CVS Documentation & Migration Guide).
- Preservation of Project History: To prevent decades of open-source development history from being permanently lost, SourceForge provided full raw repository downloads.
- Archival Artifact: This archive is hosted in the Files section of the Corewar project to guarantee permanent public access to the unadulterated source history, enabling anyone to inspect the original revision delta tree or reproduce the migration to modern version control systems (such as Git).
[!IMPORTANT] Source Has Already Been Migrated to Git: You do not need to perform this migration yourself. The entire CVS history has already been converted and published to the project's official Git repository on SourceForge:
bash git clone https://git.code.sf.net/p/corewar/code corewarYou only need this archive and the conversion instructions below if you want the exact raw archive state at the moment CVS was retired, or wish to inspect/customize the conversion process yourself.
3. Working with the Archive in CVS
If you have a CVS client installed and wish to inspect or check out a module directly from the raw archive without converting it:
- Unzip
corewar.zipto a local directory (e.g./path/to/archive/corewar). - Point your
CVSROOTto the directory containing the modules:bash cvs -d /path/to/archive/corewar/corewar co pmars cvs -d /path/to/archive/corewar/corewar co jMARS cvs -d /path/to/archive/corewar/corewar co pQmars
4. Converting the CVS Archive to Git
SourceForge documented methods for migrating CVS archives to Git. Because original CVS tools such as cvs2git rely on Python 2 (which is deprecated on modern operating systems), two methods are outlined below: the modern recommended approach and the legacy SourceForge guide.
Author Attribution Mapping
CVS commits only record short usernames rather than full names and email addresses. To preserve accurate commit attributions in Git, create an authors.txt file:
alexanderwait = Alexander Sasha Wait <alexanderwait@users.sourceforge.net>
amarsden = Anton Marsden <amarsden@users.sourceforge.net>
bhaskin = Brian Haskin <bhaskin@users.sourceforge.net>
root = Corewar Admin <root@users.sourceforge.net>
Method A: Modern Conversion (Recommended: cvs-fast-export)
cvs-fast-export (by Eric S. Raymond) is a fast, C-based converter that reads RCS ,v files directly and streams into standard git fast-import, without requiring Python 2 or a CVS server daemon.
1. Unified Repository (Monorepo with pmars, jMARS, and pQmars):
# Initialize destination repository
mkdir corewar_git && cd corewar_git
git init
# Import all modules (excluding CVSROOT server configs)
(cd /path/to/archive/corewar/corewar && \
find . -name '*,v' ! -path './CVSROOT/*' | \
cvs-fast-export -A /path/to/authors.txt) | \
git fast-import
# Check out master branch
git checkout master
2. Standalone Module Repositories:
If you want an individual Git repository dedicated solely to one tool (e.g. pmars), simply restrict find to that directory:
mkdir pmars_git && cd pmars_git
git init
(cd /path/to/archive/corewar/corewar && \
find pmars -name '*,v' | \
cvs-fast-export -A /path/to/authors.txt) | \
git fast-import
git checkout master
Method B: SourceForge's Documented Legacy Conversion (cvs2git)
The official conversion documentation published by SourceForge (SourceForge CVS Documentation) outlines using cvs2git:
mkdir cvs2git-tmp
cd cvs2git-tmp
# Generate fast-import dump files (requires Python 2.x and cvs2svn suite)
cvs2git --blobfile=blob.dat --dumpfile=dump.dat \
--username=CorewarAdmin --default-eol=native \
--encoding=utf8 --encoding=latin1 --fallback-encoding=ascii \
/path/to/archive/corewar/corewar
# Import into an empty Git repository
mkdir ../new_git && cd ../new_git
git init
cat ../cvs2git-tmp/blob.dat ../cvs2git-tmp/dump.dat | git fast-import
git checkout
5. Publishing to SourceForge Git
Once converted, the Git repository can be linked and pushed to SourceForge's Git hosting service:
cd corewar_git
git remote add origin ssh://<YOUR_SF_USERNAME>@git.code.sf.net/p/corewar/code
git push origin --mirror
References
- SourceForge CVS Migration & Decommissioning Guide: https://sourceforge.net/p/forge/documentation/CVS/
- Corewar Project Page: https://sourceforge.net/projects/corewar/