Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ccvs « web - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web/ccvs
blob: 0363baa368de4de5a7329b285a2aaddde3a07681 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
* CVS Access

	If you are an active Mono developer, you can get a CVS account
	that hosts the Mono source code.  This web page contains
	details about how to use the CVS server as well as the
	policies to use it.

	If you are not a developer, but want to track the development, please
	see the <a href="anoncvs.html">AnonCVS</a> instructions.

	Send an e-mail to miguel with your public OpenSSH key for this
	purpose.  Please specify if the key was generated with SSH version 1
	or version 2.

* Policies

	Here are some policies about the use of the Mono CVS server.

** Code License

	If you are about to commit code to a module, the code that is
	being commited should be released under the same license as
	the code that the module has.

	Check the license if you are unsure, but it is basically:
	class libraries X11; compiler and tools: GPL; runtime: LGPL.

	If in doubt, check with the maintainers of the module, or send
	mail to mono-hackers-list@ximian.com.

** Commiting code.

	If you are the maintainer for a piece of code, feel free to
	commit code, and delegate the work to others. 

	Use ChangeLog entries so we can keep textual descriptions of
	your work, and use the contents of your ChangeLog file as the
	CVS commit message (ie, paste the contents of this into the
	editor buffer).

	If you are making changes to someone else's code, please make
	sure you get in touch with the maintainer of that code before
	applying patches.  You want to avoid commiting conflicting
	work to someone else's code.

	Please do not commit code that would break the compile to the
	CVS, because that normally wastes everybody's time.  Two things 
	are important in this step: trying to build your sources and making 
	sure that you add all the new files before you do a commit.


* Using CVS.

	This is a small tutorial for using CVS.

** Generating an SSH key

	If you are using SSH version 2, please generate your key using:

<pre>
	ssh-keygen -t rsa
</pre>

	And mail me the id_rsa.pub file.

	If you are using SSH version 1, run:
<pre>
	ssh-keygen
</pre>

	And mail me your identity.pub file.

	If you are using SSH from SSH Communications Security (they offer
	a free SSH client for personal use), you have to use OpenSSH to
	convert your public key to the required format. You have to use 
	OpenSSH's ssh-keygen program and write the following:

<pre>
	ssh-keygen -i -f id_XXX.pub > my_public_key.pub
</pre>
	
	where the file id_XXX.pub is your public key file, 
	normally located under ~/.ssh/ or ~/.ssh2/.
	Send to miguel the my_public_key.pub file. 

	The *exact* format for this file must be:

<pre>
	ssh-rsa XXXXX....
</pre>

	You will need CVS and SSH.  Windows users can get both by
	installing Cygwin (<a
	href="http://www.cygwin.com">http://www.cygwin.com</a>)

	Unix users will probably have those tools installed already.

** Checking out the sources

	To check out the sources for the first time from the
	repository, use this command:

<pre>
	export CVS_RSH=ssh
	export CVSROOT=username@mono-cvs.ximian.com:/cvs/public
	cvs -z3 co mcs mono
</pre>

** Updating your sources

	Every day people will be making changes, to get your latest
	updated sources, use:

<pre>
	cvs -z3 update -Pd mcs mono
</pre>

	Note: The '-z3' enables compression for the whole cvs action.
	The '-Pd' makes the update operation (P)rune directories that
	have been deleted and get new (d)irectories added to the
	repository.

** Making patches

	Usually you will want to make a patch to contribute, and let
	other people review it before commiting it.  To obtain such a
	"patch", you type:
	
<pre>
	cd directory-you-want-to-diff
	cvs -z3 diff -u > file.diff
	mail mono-list@ximian.com < file.diff
</pre>

** Keeping track of changes.

	We provide two e-mail based mechanisms to keep track of
	changes to the code base:
	
	<ul>
		* <a href="mailto:mono-patches-request@ximian.com">
		  mono-patches@ximian.com</a>: This mailing list receives
		  in patch form all the changes that are being made to the
		  CVS.

		* <a href="mailto:mono-cvs-list-request@ximian.com">
		  mono-cvs-list@ximian.com</a>: This mailing list only
		  receives the CVS commit logs with a list of files
		  modified.
	</ul>

	We hope to offer LXR and Bonsai in the future as well.

** Commiting your work

	Once you get approval to commit to the CVS, or if you are
	commiting code that you are the maintainer of, you will want
	to commit your code to CVS. 

	To do this, you have to "add" any new files that you created:

<pre>
	cvs add new-file.cs
</pre>

	And then commit your changes to the repository:

<pre>
	cvs commit file-1.cs file-2.cs
</pre>

* The Mailing Lists

	To keep track of the various development and changes to the
	CVS tree, you can subscribe to the mono-cvs-list@ximian.com.
	To subscribe, send an email message to
	mono-cvs-list-request@ximian.com and in the body of the
	message put `subscribe'.

	This will send you an email message every time a change is
	made to the CVS repository, together with the information that
	the author of the changes submitted.

	You might also want to track the live changes, subscribe to
	the <a
	href="mailto:mono-patches-request@ximian.com">mono-patches@ximian.com</a>
	to receive the patches as they are checked into CVS. 

** Recommendations

	To build the sources, most of the type trying the `make' command
	is enough.  In some cases (the class libraries) we use nant, so
	you need to run nant manually.