3 If you are an active Mono developer, you can get a CVS account
4 that hosts the Mono source code.
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.
9 If you are using SSH2, please generate your key using:
15 And mail me the id_rsa.pub file.
17 If you are using SSH1, run:
22 And mail me your identity.pub file.
24 You will need CVS and SSH. Windows users can get both by
26 href="http://www.cygwin.com">http://www.cygwin.com</a>)
28 Unix users will probably have those tools installed already.
30 ** Checking out the sources
32 To check out the sources for the first time from the
33 repository, use this command:
37 export CVSROOT=username@mono-cvs.ximian.com:/cvs/public
41 ** Updating your sources
43 Every day people will be making changes, to get your latest
47 cvs -z3 update -Pd mcs mono
50 Note: The '-z3' enables compression for the whole cvs action.
51 The '-Pd' makes the update operation (P)rune directories that
52 have been deleted and get new (d)irectories added to the
57 Usually you will want to make a patch to contribute, and let
58 other people review it before commiting it. To obtain such a
62 cd directory-you-want-to-diff
63 cvs -z3 diff -u > file.diff
64 mail mono-list@ximian.com < file.diff
67 ** Commiting your work
69 Once you get approval to commit to the CVS, or if you are
70 commiting code that you are the maintainer of, you will want
71 to commit your code to CVS.
73 To do this, you have to "add" any new files that you created:
79 And then commit your changes to the repository:
82 cvs commit file-1.cs file-2.cs
87 To keep track of the various development and changes to the
88 CVS tree, you can subscribe to the mono-cvs-list@ximian.com.
89 To subscribe, send an email message to
90 mono-cvs-list-request@ximian.com and in the body of the
91 message put `subscribe'.
93 This will send you an email message every time a change is
94 made to the CVS repository, together with the information that
95 the author of the changes submitted.
99 Please do not commit code that would break the compile to the
100 CVS, because that normally wastes everybody's time.
102 Make sure that you add all the files before you do a commit.
104 Use ChangeLog entries so we can keep textual descriptions of
105 your work, and use the contents of your ChangeLog file as the
106 CVS commit message (ie, paste the contents of this into the
109 If you are making changes to someone else's code, please make
110 sure you get in touch with the maintainer of that code before
111 applying patches. You want to avoid commiting conflicting
112 work to someone else's code.