wiki:NewCommittersGuide

Version 19 (modified by blb@…, 11 years ago) (diff)

Add piece about whitespace changes needing to be separate

Requesting Commit Rights

Once you have a track record as a maintainer (achieved by all-around good works such as submitting new ports with yourself as a maintainer, submitting bug fixes for existing ports, etc), we encourage you to apply for commit status so that you can easilly keep your ports up to date and participate in keeping MacPorts such a strong community. If you feel you are ready for commit rights, please read the relevant documentation that explains the membership application process.

Port Committer Responsibilities

  1. PortIndex is now updated automatically (every hour) so it must not be touched
  2. A commit affects one port (including however many files are required for that one port)
  3. The exception to the one port/one commit rule is where several Portfiles make use of some feature which is in need of updating
    1. Due to a new feature which has been added to the current release to fix hacks used by various Portfiles
    2. A command is found to be broken
    3. You need to change your email address for your ports
    4. Other, similar reasons
  4. When changing the whitespace of a Portfile, do so in a separate commit (without any functional changes) as otherwise the commingling of functional and whitespace changes makes reviewing diffs difficult
  5. All committers must subscribe to the macports-changes list under their MacPorts credentials to keep track of current changes and because the list is subscriber-post-only, so commit messages will otherwise be rejected
  6. New top-level categories (those which are represented by subdirectories directly beneath dports/) need to be approved prior to adding; secondary categories (the second and later ones listed on the categories Portfile key) can be added when it makes sense (since these really only show under the web interface, and do not necessarily have a filesystem representation)
  7. Make sure the port name matches between the MacPorts svn directory name and the name Portfile key (while the system works fine when they don't, keeping them synchronized avoids confusing situations)
  8. Run port lint before committing to be sure not to violate one of the guidelines
  9. Should commit logs finally be standardized? The output is shown in various places and forms: trac, RSS, email, CIA stuff; some of these may just use the first line
  10. Under most circumstances, do not modify a port belonging to another maintainer; this is to be done either via a Trac ticket or by direct communication with the maintainer. Exceptions are:
    1. When a port is broken (and the update should be just to fix the port, no other updates "while you're there")
    2. When nomaintainer@… is the maintainer; this really means the port is unowned (feel free to take it over)
    3. When openmaintainer@… is co-maintainer; this signifies that the primary maintainer has no prior objections to others changing it
    4. When the maintainer says the update is okay and asks you to commit your update; in this case, be sure to note in the commit message that it was Approved by: the maintainer (see the bit about commit log entries above)
    5. When a ticket was already filed and you're making use of the maintainer timeout, note this fact in your commit message and add the ticket id for reference.
  11. Set up automatic properties for Subversion, as described on the Committers Tips and Tricks wiki page.

Mailing Lists and Change Logs

Notification of change logging is either via the macports-changes list or by subscribing to the RSS feeds provided by trac (see the RSS feeds of the Timeline view and the Source Repository). Note that you may customize the Timeline prior to subscribing to it, in order to control which types of information you are fed. In addition to getting an RSS feed of general project events, you may also subscribe to changes to some portion of the source tree or to bug reports/tickets.

If you use a newsreader such as NetNewsWire, and if you subscribe to the https version of the feed, you must ensure that you trust the certificate svn.macosforge.org from the certificate authority opensource.apple.com. You can tell Safari to "trust" this certificate when it sees it; you may need to set the trust settings for the certificate and/or authority from within Keychain access. Without these trust settings, NetNewsWire will not receive the feed. A better solution is to make sure that you subscribe to the http version of the feed (change the scheme on the URL to http from https).

Checking out from subversion for committing

See the svn section of getting the source on the URL and proper options for svn.

Committer Addresses

We prefer that those with commit rights use their @macports.org handle when listing themselves as a maintainer. This helps other committers to distinguish maintainers who are committers from those who are not.

Several special maintainer addresses are used to distinguish additional meta-information about ports. Please see SpecialMaintainerAddresses.

Who are you?

Add yourself to our list of contributors at MacPortsDevelopers.