|
Size: 6129
Comment: converted to 1.6 markup
|
← Revision 16 as of 2009-06-28 23:06:29 ⇥
Size: 3192
Comment: cut down CVS information page, we don't want people to think we're still using it.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 21: | Line 21: |
== CVS write access == The X.Org Foundation invites anyone who has an interest to join in. Anyone may work on a branch in the repository. Note that there are two major lines of work under way: a distribution based on the "traditional" packaging that the X Window System has traditionally been distributed, and a modular set of packages, which will allow easier update and management of the technologies, but which are not yet ready for release. Which is most appropriate for your project depends strongly on its timescale to completion and invasiveness. If you plan a serious development project please consider to apply for CVS write access. This way you can commit your changes yourself. There are a few [[CvsPolicy|guidelines]] to follow when writing to the CVS repository to not interfere with others. To obtain an account on freedesktop.org to work in a branch of the XOrg Foundation tree, see [[http://www.freedesktop.org/wiki/AccountRequests]]. Discussions about planned work in the XOrg repository should take place on the [[http://freedesktop.org/mailman/listinfo/xorg|xorg]] mailing list. Please also check XorgMailingLists for other development related mailing lists. == Branch Names, Communities == X.Org has a policy for CvsBranchnames. This page also gives some useful hints how to deal with CVS branches and branch tags. We maintain a list of CvsBranches which you may want to check. If you create your own branch please make sure you register it on this page. The following communities are currently the XOrg Foundation repository as the home for their work: * [[http://freedesktop.org/wiki/Software/xprint|Xprint]] * [[http://freedesktop.org/wiki/Software/XEvIE|XEvIE]] Please also see [[http://freedesktop.org/wiki/Software/XOrgRepository|XOrgRepository]] for more information about the X.Org Foundation repository. |
|
| Line 72: | Line 51: |
== How can I see what somebody has committed? == There are two mailing lists that are notified of any commits to the X.Org CVS repository. * [[http://lists.freedesktop.org/mailman/listinfo/xorg-commit|xorg-commit]] which receives a list of files that have changed together with their new version numbers and the CVS log entry. * [[http://lists.freedesktop.org/mailman/listinfo/xorg-commit-diff|xorg-commit-diff]] this mailing list receives the full diffs between the previous version and the new version that was just checked in. Unfortunately this list is currently defunct due to problems with the script that retrieves the diffs from the CVS repository. However there is another way to obtain the diffs (which is preferred by me). Download the script [[http://freedesktop.org/~xorg/scripts/diff_extract.sh|diff_extract.sh]] and pipe the commit messages sent to `xorg-commit` thru this script. It will automatically retrieve the diffs from the cvs repository. You may have to edit the environment variable `CVS_ROOT` on top of the script to meet your needs. |
What's in CVS?
X.Org now uses CVS only for the rare ongoing maintenance of the X11R6.x monolithic tree. The X11R7.x modular source repositories are now maintained in git, as described on GitPage.
CVS Access
Read access to the CVS repository is open to everybody. You can access the X.Org CVS via anonymous CVS:
$ cvs -d :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/xorg login CVS password: <hit return> $ cvs -d :pserver:anoncvs@anoncvs.freedesktop.org:/cvs/xorg co -P app data doc driver font lib proto util xserver
If you have ssh access to freedesktop.org (which you need for write access to the repository), use :ext:username@cvs.freedesktop.org:/cvs/xorg. You also may need to set the environment variable CVS_RSH to ssh. On modern versions of CVS, the :ext: is optional; if your username is the same as your login on the host machine, you may also eliminate username@.
CVSWeb
You can also browse CVS with ViewCVS.
CVS documentation
A comprehensive open documentation on CVS is Per Cederquist's manual. Chances are that you have it installed on your system as GNU info page. Simply do
info cvs
to read it. If this manual is too brief for you you may want to check Karl Fogel's book which is also available on line.
What you should do when you commit code
Before committing code to CVS you should update the ChangeLog file in the root directory to reflect the changes you have made.
- Merge in changes that have taken place after you have updated your checked out version of the tree.
cvs update -dP
Run the Perl script prepare-ChangeLog.pl in the root directory of the project. This will obtain a list of files that have changed and add it to the top of the ChangeLog file. It will also add a time stamp and your email address (if set properly).
Edit ChangeLog:
- If somebody reviewed your patches and his name and email address.
- If you are committing a huge number of files (i.e. when you merge code between branches) you may delete the list of files you are committing.
- Add a description of the changes you have made. If there is a bugzilla entry for the code you are committing add the ID.
Check if any other ChangeLog entries in the tree have been touched (accidentally) by prepare-ChangeLog.pl. In some cases drivers have their own ChangeLogs. Also 'foreign' projects stored in the extras/ directory may have ChangeLog files. While you may describe changes to drivers in their respective files you should never add anything to ChangeLog files under extras/. Please remove those changes before you commit and move the list of changed files to the to ChangeLog file.
When you are done editing ChangeLog you may start the commit.
cvs commit
CVS will start an editor for you so that you can add an entry to the CVS log. It is a good idea to copy the text that you have added to the ChangeLog file here.


