Version 1 (modified by jmpp@…, 14 years ago) (diff)

NewCommittersGuide addition

The following apply to those who are committing port-level svn updates to MacPorts (these may yet not be complete or completely correct, but it is a start):

  1. PortIndex is now updated automatically (every 12 hours) 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
    3.1. Due to a new feature which has been added to the current release to fix hacks used by various Portfiles
    3.2. A command is found to be broken
    3.3. You need to change your email address for your ports
    3.4. Other, similar reasons
  4. All committers must subscribe to the cvs-darwinports-all list under their OpenDarwin credentials to keep track of current changes and because the list is subscriber-post-only, so commit messages will otherwise be rejected
  5. New top-level categories (those which are represented by directories in the MacPorts tree) 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 have no filesystem representation)
  6. 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)
  7. Should commit logs be finally standardized? Some places have the CVS/Template which contains a few common headers (Bug:, Submitted By:, etc), but these are not always present or used for that matter
  8. Under most circumstances, do not modify a port belonging to another maintainer; this is to be done either via bugzilla or direct communication with the maintainer. Exceptions are: 8.1. When a port is broken (and the update should be just to fix the port, no other updates "while you're there")
    8.2. When the maintainer is darwinports@… as this really means the port is unowned (feel free to take it over)
    8.3. When darwinports@… is co-maintainer, this signifies that the primary maintainer has no prior objections to others changing it
    8.4 The maintainer may say the update is okay and ask you to commit your update; in this case, be sure to note in the cvs commit log that it was Approved by: the maintainer (see the bit about commit log entries above)

This began with a post on the MacPorts email list.