3 | | The source code is accessible as follows: |
| 3 | The BOINC source code is stored in a Subversion (SVN) repository. |
| 4 | Various versions of the code are available at any given point: |
| 5 | |
| 6 | '''Development''' |
| 7 | |
| 8 | The SVN trunk contains the latest source code for all components of BOINC. |
| 9 | It is actively being developed, and may contain bugs. |
| 10 | Use it if you need a recently-added feature. |
| 11 | |
| 12 | '''Client software''' |
| 13 | |
| 14 | The client software (core client and manager) is maintained as follows: |
| 15 | |
| 16 | * The code for each release is 'tagged'. For example, the code for version 6.3.14 is tagged with '''boinc_core_release_6_3_14'''. |
| 17 | * A 'branch' is created for each released minor version. For example, the branch '''boinc_core_release_6_2''' is the code for the latest release of version 6.2. |
| 18 | |
| 19 | '''Server software''' |
| 20 | |
| 21 | For all software other than the client (i.e., server, web, and API) the latest "stable" version |
| 22 | is kept in a branch, '''server_stable'''. |
| 23 | |
| 24 | '''NOTE: don't use the server software in a client tag/branch; it probably isn't stable.''' |
| 25 | |
| 26 | == Using Subversion == |
| 27 | |
| 28 | On Unix, use the the following commands to check out the trunk, a tag, or a branch: |
8 | | On Windows, get a SVN client like [http://tortoisesvn.net/ TortoiseSVN]. Right-click on the parent directory, select 'SVN checkout', and fill in the dialog with the above URL. You can also download [http://subversion.tigris.org/project_packages.html#windows svn command-line program for Windows]. |
| 35 | On Windows, get a SVN client like [http://tortoisesvn.net/ TortoiseSVN]. |
| 36 | Right-click on the parent directory, select 'SVN checkout', |
| 37 | and fill in the dialog with one of the above URLs. |
| 38 | You can also download [http://subversion.tigris.org/project_packages.html#windows svn command-line program for Windows]. |
10 | | Note: some HTTP proxies may cause problems with the SVN protocol. If you have trouble checking out the code, try using https instead of http. |
11 | | |
12 | | == SVN tags and branches == |
13 | | |
14 | | We maintain tags and branches for the client software (core client and manager) in the {{{boinc}}} module. Tags contain the source code for a certain version of the client, just as it was used for an official release. Branches contain the latest source code (maybe being developed) for a major version (like "5.8" or "6.1"). |
15 | | |
16 | | For building the client, you should probably use the tag for the latest version. If you use trunk, you will get code that hasn't been tested enough (or is known ''not'' to work). |
17 | | |
18 | | For other parts of the software (e.g., server and API), use the current version (trunk). If you use a tag for the server, you wouldn't get "server version X", since there aren't versioned releases for the server. Instead, you would get "whatever server code was on the repository when client X was released", which could be a very old version. |
19 | | |
20 | | To check out a branch (for example, {{{boinc_core_release_5_10}}}) use the following: |
21 | | {{{ |
22 | | svn co http://boinc.berkeley.edu/svn/branches/boinc_core_release_5_10 |
23 | | }}} |
24 | | Checking out tags is quite similar: |
25 | | {{{ |
26 | | svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_5_10_39 |
27 | | }}} |
| 40 | Note: some HTTP proxies may cause problems with the SVN protocol. |
| 41 | If you have trouble checking out the code, try using https instead of http. |