source: project/wiki/chicken-svn-for-eggs @ 37543

Last change on this file since 37543 was 32451, checked in by Mario Domenech Goulart, 5 years ago

wiki: Prefer using THE SYSTEM over the svn repo

File size: 2.6 KB
Line 
1== The CHICKEN Subversion repository
2
3Historically, CHICKEN provided a Subversion repository for keeping egg
4code under version control.  This strategy predates git and the fancy
5distributed version control systems we have these days, in case you
6are wondering why we used Subversion.  See [[distributed-egg-repos]]
7for information on the motivation to switch to the distributed
8approach to host eggs.
9
10We still use the Subversion repository for eggs managed by the CHICKEN
11core team, and we may even host your egg if you can't use any of the
12many free VCS providers available.  The recommended practice is to
13host your eggs remotely (i.e., not using the CHICKEN Subversion
14repository).
15
16In case you have to host your egg code on the CHICKEN Subversion
17repository, request a new account by sending
18[[/users/mario-domenech-goulart|Mario Domenech Goulart]]
19(mario . goulart @ gmail . com) an e-mail.
20
21The section below contains information on how to manage eggs under the
22CHICKEN Subversion repository.
23
24=== Directory structure
25
26The directory for your egg will have the following subdirectories:
27
28; {{trunk}} : Here you can keep the latest (potentially unstable) development version for your egg.
29; {{tags}} : You should keep one subdirectory of this directory for every release for your egg.  The names of the directories here should correspond to the version number of their associated release.
30; {{branches}} : Contains, as subdirectories, any special branches of the code that need to be maintained apart from the trunk.
31; {{extra}} : files that you want to keep under version control but are not required to be installed by {{chicken-install}}
32
33For documentation, there is a {{wiki}} directory at the top-level of
34the repository. It holds the entire contents for this wiki.
35
36
37=== Importing your files
38
39You will initially copy your files to the {{trunk}} directory, add
40them manually and commit your changes.  For example:
41
42 $ svn add trunk/mpeg3.scm
43 $ svn add trunk/mpeg3.setup
44 $ svn add trunk/mpeg3.meta
45 $ svn commit -m "Importing mpeg3 extension."
46
47=== Making a new release
48
49Once the code in {{trunk}} is reasonably stable and you want to make a
50new release, copy it to a new directory under {{tags}}.
51
52The directory should be named after the software version.
53
54Software versions should have the form of a list of numbers separated
55by a dot (eg. "1.3.4" is a valid software version, whereas "1.3-0" or
56"1.3rc0" are not).
57
58For example, to make the 1.3 release for mpeg3, you would run the
59following commands (at the directory where you checked out your egg):
60
61 $ svn copy trunk tags/1.3
62 $ svn commit -m "Releasing version 1.3."
Note: See TracBrowser for help on using the repository browser.