Eggs hosted in svn (Subversion)
For historical reasons, some CHICKEN eggs are hosted in the CHICKEN's central Subversion repository (the same repository which hosts this wiki).
The use of the Subversion repository for hosting eggs is deprecated, but some eggs maintained by the CHICKEN core team are still there for convenience.
To check out a copy of the source code of eggs hosted in the Subversion repository, you'll need a subversion client (usually installed as a command line tool called svn). See Subversion's official web site for more information.
Quick subversion checkout how-to
Here's a very simplified set of tips on how to obtain the source code of eggs hosted in the CHICKEN's Subversion repository.
Some notes regarding the organization of the Subversion repository:
- It's a big single repository containing sources of multiple eggs, wiki and some other assorted files
- Contents (subtrees) of Subversion repositories can be checked out separately (no need to check out everything).
- Eggs are organized according to the following layout:
releases/ <CHICKEN major version>/ <egg>/ tags/ <egg release 1>/ ... <egg release n> trunk/
Where:
- <CHICKEN major version>: the CHICKEN major version (currently 5).
- <egg>: the egg name (e.g., object-evict).
- <egg release n>: a tag representing the egg version.
Example:
release/5/object-evict ├── tags │ ├── 0.1 │ │ ├── object-evict.egg │ │ ├── object-evict.inline │ │ ├── object-evict.scm │ │ ├── object-evict.types │ │ └── tests │ │ └── run.scm │ └── 0.1.1 │ ├── object-evict.egg │ ├── object-evict.scm │ ├── object-evict.types │ └── tests │ └── run.scm └── trunk ├── object-evict.egg ├── object-evict.scm ├── object-evict.types └── tests └── run.scm
The following sections show examples on typical tasks (using the object-evict egg for CHICKEN 5 as example).
Checking out the subtree of an egg
The following command will check out the entire subtree of an egg for a CHICKEN major version:
$ svn co --username anonymous --password "" https://code.call-cc.org/svn/chicken-eggs/release/5/object-evict
Checking out the development branch of an egg
The development branch in Subversion parlance is called trunk (normally equivalent to the master branch in git speak).
Here's an example on how to check out the source of the trunk branch of object-evict:
$ svn co --username anonymous --password "" https://code.call-cc.org/svn/chicken-eggs/release/5/object-evict/trunk object-evict
Migrating to git
Here's an example of how to check out the entire history of object-evict:
$ mkdir path/to/object-evict $ cd path/to/object-evict $ git svn clone https://code.call-cc.org/svn/chicken-eggs/release/5/object-evict --stdlayout .