ccvs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. * CVS Access
  2. If you are an active Mono developer, you can get a CVS account
  3. that hosts the Mono source code. This web page contains
  4. details about how to use the CVS server as well as the
  5. policies to use it.
  6. If you are not a developer, but want to track the development, please
  7. see the <a href="anoncvs.html">AnonCVS</a> instructions.
  8. Send an e-mail to miguel with your public OpenSSH key for this
  9. purpose. Please specify if the key was generated with SSH version 1
  10. or version 2.
  11. * Policies
  12. Here are some policies about the use of the Mono CVS server.
  13. ** Code License
  14. If you are about to commit code to a module, the code that is
  15. being commited should be released under the same license as
  16. the code that the module has.
  17. Check the license if you are unsure, but it is basically:
  18. class libraries X11; compiler and tools: GPL; runtime: LGPL.
  19. If in doubt, check with the maintainers of the module, or send
  20. mail to [email protected].
  21. ** Commiting code.
  22. If you are the maintainer for a piece of code, feel free to
  23. commit code, and delegate the work to others.
  24. Use ChangeLog entries so we can keep textual descriptions of
  25. your work, and use the contents of your ChangeLog file as the
  26. CVS commit message (ie, paste the contents of this into the
  27. editor buffer).
  28. If you are making changes to someone else's code, please make
  29. sure you get in touch with the maintainer of that code before
  30. applying patches. You want to avoid commiting conflicting
  31. work to someone else's code.
  32. Please do not commit code that would break the compile to the
  33. CVS, because that normally wastes everybody's time. Two things
  34. are important in this step: trying to build your sources and making
  35. sure that you add all the new files before you do a commit.
  36. * Using CVS.
  37. This is a small tutorial for using CVS.
  38. ** Generating an SSH key
  39. If you are using SSH version 2, please generate your key using:
  40. <pre>
  41. ssh-keygen -t rsa
  42. </pre>
  43. And mail me the id_rsa.pub file.
  44. If you are using SSH version 1, run:
  45. <pre>
  46. ssh-keygen
  47. </pre>
  48. And mail me your identity.pub file.
  49. If you are using SSH from SSH Communications Security (they offer
  50. a free SSH client for personal use), you have to use OpenSSH to
  51. convert your public key to the required format. You have to use
  52. OpenSSH's ssh-keygen program and write the following:
  53. <pre>
  54. ssh-keygen -i -f id_XXX.pub > my_public_key.pub
  55. </pre>
  56. where the file id_XXX.pub is your public key file,
  57. normally located under ~/.ssh/ or ~/.ssh2/.
  58. Send to miguel the my_public_key.pub file.
  59. The *exact* format for this file must be:
  60. <pre>
  61. ssh-rsa XXXXX....
  62. </pre>
  63. You will need CVS and SSH. Windows users can get both by
  64. installing Cygwin (<a
  65. href="http://www.cygwin.com">http://www.cygwin.com</a>)
  66. Unix users will probably have those tools installed already.
  67. ** Checking out the sources
  68. To check out the sources for the first time from the
  69. repository, use this command:
  70. <pre>
  71. export CVS_RSH=ssh
  72. export [email protected]:/cvs/public
  73. cvs -z3 co mcs mono
  74. </pre>
  75. ** Updating your sources
  76. Every day people will be making changes, to get your latest
  77. updated sources, use:
  78. <pre>
  79. cvs -z3 update -Pd mcs mono
  80. </pre>
  81. Note: The '-z3' enables compression for the whole cvs action.
  82. The '-Pd' makes the update operation (P)rune directories that
  83. have been deleted and get new (d)irectories added to the
  84. repository.
  85. ** Making patches
  86. Usually you will want to make a patch to contribute, and let
  87. other people review it before commiting it. To obtain such a
  88. "patch", you type:
  89. <pre>
  90. cd directory-you-want-to-diff
  91. cvs -z3 diff -u > file.diff
  92. mail [email protected] < file.diff
  93. </pre>
  94. ** Keeping track of changes.
  95. We provide two e-mail based mechanisms to keep track of
  96. changes to the code base:
  97. <ul>
  98. * <a href="mailto:[email protected]">
  99. [email protected]</a>: This mailing list receives
  100. in patch form all the changes that are being made to the
  101. CVS.
  102. * <a href="mailto:[email protected]">
  103. [email protected]</a>: This mailing list only
  104. receives the CVS commit logs with a list of files
  105. modified.
  106. </ul>
  107. We hope to offer LXR and Bonsai in the future as well.
  108. ** Commiting your work
  109. Once you get approval to commit to the CVS, or if you are
  110. commiting code that you are the maintainer of, you will want
  111. to commit your code to CVS.
  112. To do this, you have to "add" any new files that you created:
  113. <pre>
  114. cvs add new-file.cs
  115. </pre>
  116. And then commit your changes to the repository:
  117. <pre>
  118. cvs commit file-1.cs file-2.cs
  119. </pre>
  120. * The Mailing Lists
  121. To keep track of the various development and changes to the
  122. CVS tree, you can subscribe to the [email protected].
  123. To subscribe, send an email message to
  124. [email protected] and in the body of the
  125. message put `subscribe'.
  126. This will send you an email message every time a change is
  127. made to the CVS repository, together with the information that
  128. the author of the changes submitted.
  129. You might also want to track the live changes, subscribe to
  130. the <a
  131. href="mailto:[email protected]">[email protected]</a>
  132. to receive the patches as they are checked into CVS.
  133. ** Recommendations
  134. To build the sources, most of the type trying the `make' command
  135. is enough. In some cases (the class libraries) we use nant, so
  136. you need to run nant manually.