Update documentation; FAQ; Download information; Status update
[mono.git] / web / ccvs
1 * CVS Access
2
3         If you are an active Mono developer, you can get a CVS account
4         that hosts the Mono source code.
5
6         Send an e-mail to miguel with your public SSH key for this
7         purpose.  Please specify if the key was generated with SSH1 or SSH2.
8
9         If you are using SSH2, please generate your key using:
10
11 <pre>
12         ssh-keygen -t rsa
13 </pre>
14
15         And mail me the id_rsa.pub file.
16
17         If you are using SSH1, run:
18 <pre>
19         ssh-keygen
20 </pre>
21
22         And mail me your identity.pub file.
23
24         You will need CVS and SSH.  Windows users can get both by
25         installing Cygwin (<a
26         href="http://www.cygwin.com">http://www.cygwin.com</a>)
27
28         Unix users will probably have those tools installed already.
29
30 ** Checking out the sources
31
32         To check out the sources for the first time from the
33         repository, use this command:
34
35 <pre>
36         export CVS_RSH=ssh
37         export CVSROOT=username@mono-cvs.ximian.com:/cvs/public
38         cvs -z3 co mcs mono
39 </pre>
40
41 ** Updating your sources
42
43         Every day people will be making changes, to get your latest
44         updated sources, use:
45
46 <pre>
47         cvs -z3 update mcs mono
48 </pre>
49
50 ** Making patches
51
52         Usually you will want to make a patch to contribute, and let
53         other people review it before commiting it.  To obtain such a
54         "patch", you type:
55         
56 <pre>
57         cd directory-you-want-to-diff
58         cvs -z3 diff -u > file.diff
59         mail mono-list@ximian.com < file.diff
60 </pre>
61
62 ** Commiting your work
63
64         Once you get approval to commit to the CVS, or if you are
65         commiting code that you are the maintainer of, you will want
66         to commit your code to CVS. 
67
68         To do this, you have to "add" any new files that you created:
69
70 <pre>
71         cvs add new-file.c
72 </pre>
73
74         And then commit your changes to the repository:
75
76 <pre>
77         cvs commit .
78 </pre>
79
80 ** The Mailing List
81
82         To keep track of the various development and changes to the
83         CVS tree, you can subscribe to the mono-cvs-list@ximian.com.
84         To subscribe, send an email message to
85         mono-cvs-list-request@ximian.com and in the body of the
86         message put `subscribe'.
87
88         This will send you an email message every time a change is
89         made to the CVS repository, together with the information that
90         the author of the changes submitted.
91         
92 ** Recommendations
93
94         Please do not commit code that would break the compile to the
95         CVS, because that normally wastes everybody's time.  
96
97         Make sure that you add all the files before you do a commit.
98
99         Use ChangeLog entries so we can keep textual descriptions of
100         your work, and use the contents of your ChangeLog file as the
101         CVS commit message (ie, paste the contents of this into the
102         editor buffer).
103
104         If you are making changes to someone else's code, please make
105         sure you get in touch with the maintainer of that code before
106         applying patches.  You want to avoid commiting conflicting
107         work to someone else's code.