3 If you are an active Mono developer, you can get a CVS account
4 that hosts the Mono source code.
6 If you are not a developer, but want to track the development, please
7 see the <a href="anoncvs.html">AnonCVS</a> instructions.
9 Send an e-mail to miguel with your public SSH key for this
10 purpose. Please specify if the key was generated with SSH1 or SSH2.
12 If you are using SSH2, please generate your key using:
18 And mail me the id_rsa.pub file.
20 If you are using SSH1, run:
25 And mail me your identity.pub file.
27 You will need CVS and SSH. Windows users can get both by
29 href="http://www.cygwin.com">http://www.cygwin.com</a>)
31 Unix users will probably have those tools installed already.
33 ** Checking out the sources
35 To check out the sources for the first time from the
36 repository, use this command:
40 export CVSROOT=username@mono-cvs.ximian.com:/cvs/public
44 ** Updating your sources
46 Every day people will be making changes, to get your latest
50 cvs -z3 update -Pd mcs mono
53 Note: The '-z3' enables compression for the whole cvs action.
54 The '-Pd' makes the update operation (P)rune directories that
55 have been deleted and get new (d)irectories added to the
60 Usually you will want to make a patch to contribute, and let
61 other people review it before commiting it. To obtain such a
65 cd directory-you-want-to-diff
66 cvs -z3 diff -u > file.diff
67 mail mono-list@ximian.com < file.diff
70 ** Keeping track of changes.
72 We provide two e-mail based mechanisms to keep track of
73 changes to the code base:
76 * <a href="mailto:mono-patches-request@ximian.com">
77 mono-patches@ximian.com</a>: This mailing list receives
78 in patch form all the changes that are being made to the
81 * <a href="mailto:mono-cvs-list-request@ximian.com">
82 mono-cvs-list@ximian.com</a>: This mailing list only
83 receives the CVS commit logs with a list of files
87 We hope to offer LXR and Bonsai in the future as well.
89 ** Commiting your work
91 Once you get approval to commit to the CVS, or if you are
92 commiting code that you are the maintainer of, you will want
93 to commit your code to CVS.
95 To do this, you have to "add" any new files that you created:
101 And then commit your changes to the repository:
104 cvs commit file-1.cs file-2.cs
109 To keep track of the various development and changes to the
110 CVS tree, you can subscribe to the mono-cvs-list@ximian.com.
111 To subscribe, send an email message to
112 mono-cvs-list-request@ximian.com and in the body of the
113 message put `subscribe'.
115 This will send you an email message every time a change is
116 made to the CVS repository, together with the information that
117 the author of the changes submitted.
121 Please do not commit code that would break the compile to the
122 CVS, because that normally wastes everybody's time. Two things
123 are important in this step: trying to build your sources and making
124 sure that you add all the new files before you do a commit.
126 To build the sources, most of the type trying the `make' command
127 is enough. In some cases (the class libraries) we use nant, so
128 you need to run nant manually.
130 Use ChangeLog entries so we can keep textual descriptions of
131 your work, and use the contents of your ChangeLog file as the
132 CVS commit message (ie, paste the contents of this into the
135 If you are making changes to someone else's code, please make
136 sure you get in touch with the maintainer of that code before
137 applying patches. You want to avoid commiting conflicting
138 work to someone else's code.