diff options
Diffstat (limited to 'www/cvs.t')
-rw-r--r-- | www/cvs.t | 137 |
1 files changed, 16 insertions, 121 deletions
@@ -1,132 +1,27 @@ | |||
1 | #define _PAGE_ Accessing source code via CVS | 1 | #define _PAGE_ CVS Builds |
2 | #include "head.t" | 2 | #include "head.t" |
3 | 3 | ||
4 | <h2>Browsing the repository</h2> | 4 | <p>Number of compiler warnings the build generates. 0 |
5 | (zero) means no warnings. The timestamp is GMT. <a | ||
6 | href="http://www.rockbox.org/twiki/bin/view/Main/TargetStatus">Target | ||
7 | Status</a> | ||
5 | 8 | ||
6 | <p>Just go <a href="/viewcvs.cgi/">here</a>. | 9 | <p> |
7 | 10 | <!--#include virtual="distbuild.link" --> | |
8 | <h2>Daily snapshots</h2> | ||
9 | |||
10 | <p>Every night at 6am CET, we build a source tarball and target .mod files | ||
11 | from the latest CVS code. <a href="daily.shtml">Get them here</a>. | ||
12 | |||
13 | <h2>Downloading (checking out) the source</h2> | ||
14 | |||
15 | <p>You, obviously, need to have <a href="http://www.cvshome.org">CVS</a> | ||
16 | installed to do this. | ||
17 | |||
18 | <p>Here is a complete list of the available modules: | ||
19 | |||
20 | <ul> | ||
21 | <li>apps - the source code to the applications | ||
22 | <li>firmware - the source code to the firmware library | ||
23 | <li>gdb - the gdb stub to use for remote debugging | ||
24 | <li>tools - tools for building the firmware | ||
25 | <li>uisimulator - a user interface simulator for X11 | ||
26 | <li>docs - project documentation | ||
27 | <li>www - the web page | ||
28 | </ul> | ||
29 | |||
30 | <p>We have a few other convenient aliases that gets several | ||
31 | modules at once for you: | ||
32 | |||
33 | <ul> | ||
34 | <li> rockbox - gets everything you need to compile and build rockbox for target | ||
35 | <li> rockbox-devel - like 'rockbox' but also includes simulators and gdb code | ||
36 | <li> rockbox-all - gets everything there is in CVS, all modules | ||
37 | <li> website - gets the www and docs modules | ||
38 | </ul> | ||
39 | |||
40 | <p>The examples below use the 'rockbox' module, since that is what most | ||
41 | people are interested in. | ||
42 | |||
43 | <h3>Anonymous read-only checkout</h3> | ||
44 | |||
45 | <p>If you are not a registered developer, use this method. | ||
46 | When asked for a password, just press enter: | ||
47 | |||
48 | <p><tt>cvs -d:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox login | ||
49 | <br>cvs -z3 -d:pserver:anonymous@rockbox.haxx.se:/cvsroot/rockbox co rockbox</tt> | ||
50 | |||
51 | <p>A "rockbox" directory will be created in your current directory, and all | ||
52 | the directories and source files go there. | ||
53 | |||
54 | <h3>Checkout with write access (for developers)</h3> | ||
55 | |||
56 | <p>For this, you need to be added to the writers list by Rockbox administrators. After that, you can login with your username: | ||
57 | |||
58 | <p><tt>cvs -d:pserver:<b>username</b>@rockbox.haxx.se:/cvsroot/rockbox login | ||
59 | <br>cvs -z3 -d:pserver:<b>username</b>@rockbox.haxx.se:/cvsroot/rockbox co rockbox</tt> | ||
60 | |||
61 | <h2>Checking in modifications</h2> | ||
62 | |||
63 | <p>CVS is a "no-reserve" version control system. This means that you work on your local files without first reserving them. Any conflicts with other developers are detected when you check-in, or "commit" as it's called in CVS: | ||
64 | |||
65 | <p><tt>cvs commit <b>filename</b></tt> | ||
66 | |||
67 | <p>This will start an editor and ask you to describe the changes you've made. If you want, you can use the -m command line option to specify the comment right there: | ||
68 | |||
69 | <p><tt>cvs commit -m "This is my change comment" <b>filename</b></tt> | ||
70 | |||
71 | <p><strong>Note:</strong> Before checking in modifications, test-build all targets (player, player-old, recorder, player-sim, recorder-sim) to make sure your changes don't break anything. | ||
72 | |||
73 | <h2>Updating your repository</h2> | ||
74 | |||
75 | <p>Since several people commit to the repository, you will need to periodically | ||
76 | synchronize your local files with the changes made by others. | ||
77 | This operation is called "update": | ||
78 | |||
79 | <p><tt>cvs update -dP</tt> | ||
80 | |||
81 | <p>The <b>-d</b> switch tells update to create any new directories that have been created the repository since last update. | ||
82 | <br>The <b>-P</b> switch tells update to delete files that have been removed in the repository. | ||
83 | |||
84 | <h2>Adding a new file</h2> | ||
85 | |||
86 | <p>Adding a file is very simple: | ||
87 | |||
88 | <p><tt>cvs add <b>filename</b></tt> | ||
89 | |||
90 | <p>If you are adding a binary file, you need to specify the -kb flag: | ||
91 | |||
92 | <p><tt>cvs add -kb <b>filename</b></tt> | ||
93 | |||
94 | <p>These changes, like any other change, has to be committed before they will be visible on the server. | ||
95 | |||
96 | <h2>Querying the status of your files</h2> | ||
97 | |||
98 | <p>Sometimes it is interesting to get a list of the status of your files versus | ||
99 | those on the remote repository. This is called "status": | ||
100 | |||
101 | <p><tt>cvs status</tt> | ||
102 | |||
103 | <p>The output from "status" can be rather verbose. You may want to filter it with grep: | ||
104 | |||
105 | <p><tt>cvs status | grep Status</tt> | ||
106 | |||
107 | <p>To only list files who differ from the server, filter again: | ||
108 | |||
109 | <p><tt>cvs status | grep Status | grep -v Up-to-date</tt> | ||
110 | 11 | ||
111 | <h2>Producing a diff of your changes</h2> | 12 | <a name="bleeding_edge"></a> |
13 | <h2>Bleeding edge builds</h2> | ||
112 | 14 | ||
113 | <p>If you want to see how your local files differ from the CVS repository, | 15 | <p>These builds are as "bleeding edge" as you can get. They are updated on |
114 | you can ask CVS to show you: | 16 | every source change. (See status on the first line in the above table). |
115 | 17 | ||
116 | <p><tt>cvs diff -u [files(s)]</tt> | 18 | <p>These are complete installation archives. |
117 | 19 | ||
118 | <p>The <tt>-u</tt> selects the "unified" diff format, which is preferrable | 20 | <!--#exec cmd="./bleedmod.pl" --> |
119 | when working with source code. | ||
120 | 21 | ||
121 | <h2>What Happens in the Repository?</h2> | ||
122 | <p> | ||
123 | Subscribe to the rockbox-cvs list to get mails sent to you for every commit | ||
124 | done to the repostory. | ||
125 | <p> | 22 | <p> |
126 | To join this list, send a mail to majordomo@cool.haxx.se, with the following | 23 | <a href="/twiki/bin/view/Main/UsingCVS">How to use CVS</a>. |
127 | text in the body (no subject) "subscribe rockbox-cvs". | 24 | |
128 | <p> | 25 | <hr> |
129 | <b>Note</b> that this may cause quite a few mails to get sent during periods | ||
130 | of intense development. | ||
131 | 26 | ||
132 | #include "foot.t" | 27 | #include "foot.t" |