+ }
+
+* RCS and CVS tags
+
+ Some users like to use the special RCS/CVS tags in their
+ source code: $id$, $log$ and so on.
+
+ The use of these is not permitted on the Mono source code
+ repository. This metadata belongs on a ChangeLog or in the
+ SVN metadata.
+
+* File formats
+
+ Historically our repository has used a mix of line-endings,
+ this is a mistake that we are trying hard to fix.
+
+ For existing files, please make sure that you do not convert
+ the file, as that causes us to loose precious history (the
+ full file is commited).
+
+ For new files that you create, please make sure that you use
+ Subversion's support for mapping the line endings
+ automatically, after adding your file:
+
+ $ svn add file.cs
+
+ Execute this command:
+
+ $ svn propset svn:eol-style native file.cs
+
+ Which will make the file automatically receive the proper
+ treatment from that point on.
+
+ Please verify before commiting that your changes wont loose
+ history, you can do this by running:
+
+ $ svn diff
+
+ And examining the output.
+
+* ChangeLogs
+
+ ChangeLogs are the files that we use to track the project
+ history. ChangeLogs are found one per directory, or in small
+ projects, one per project.
+
+ The format looks like this:
+
+ 2004-11-19 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile (%-profiles): Go through an intermediate
+ set of rules. Move body to ...
+ (profiles-do--%): ... this.
+ (profiles-do--run-test): Customized rule that usefully
+ runs with 'make -j' and 'make -k'.
+ (profiles-do--all, profile-do--%--all): Orchestrate
+ the bootstrap process.
+
+ * file.cs (MainForm): Updated version.
+
+ The date, author, email address in the first line.
+
+ From that point on a list of changes in a file-by-file basis,
+ describing what changes were done.
+
+ This information must be cut and pasted into your commit
+ message, so the information ends up in two places: in the
+ subversion repository metadata and also on the source code
+ distirbution (which does not have the Subversion metadata).
+
+* Warnings
+
+ Avoid commiting code with warnings to the repository, the use
+ of #pragmas to disable warnings is strongly discouraged, but
+ can be used on unique cases. Please justify the use of the
+ warning ignore clause on a comment.
+
+ Do not commit changes to the Makefiles that removes warnings,
+ if anything warnings should be eliminated one at a time, and
+ if not possible, they must be flagged.
+
+
+* Examples: