Child pages
  • Contribution Process
Skip to end of metadata
Go to start of metadata


This contribution process is in the process of being replaced and should be used strictly on an interim basis. Please see:

With illumos-userland, we have tried to make the contribution process as simple as possible. To do this, we leverage the free public Mercurial hosting service, BitBucket.

The process consists of:

  1. First, create a bug or feature on the issue tracker describing what you want to achieve.
    If it's an existing component, please show consideration to anyone who's previously updated the component (check hg log for all source) by subscribing them to the issue.
  2. Sign up to BitBucket ("MYLOGIN" in example below)
  3. Fork illumos-userland within BitBucket so you have your own copy to push to
  4. Clone illumos-userland either from your BitBucket fork, or alternately from or, so you have a workspace locally in your development environment (which may be prepared according to instructions like these: Building in zones, How To Build illumos and Working on several bugs at once):

    $ cd /code
    $ hg clone
    destination directory: illumos-userland
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 493 changesets with 3934 changes to 2917 files
    updating working directory
    2242 files updated, 0 files merged, 0 files removed, 0 files unresolved

    The target directory (/code/illumos-userland in the example above) may exist but must be empty (non-existant is also okay). Apparently, the current user account must have write-rights to it.

  5. Make your changes, then hg commit, using the issue number and description from (1) above as the commit message.
  6. Push to BitBucket
  7. Email BitBucket "Compare Fork" URL to userland@ asking for a review or an RTI (request to integrate)

A member of the illumos-userland commit team will review your changeset. If we feel it needs work, we'll provide assistance.
When it's ready to be integrated, we'll pull it into illumos-userland.


The issue number in (1) above serves as a way of tracking commits easily. When mailing userland@ with a request for a code review, please use the subject "1234 issue-subject", eg "1273 Update rdesktop to 1.7.0".

When committing with mercurial, you MUST commit using this format. Please see our commit history to see how this looks in reality.


For those people who understand pictures better, here is an illustration of illumos-userland development with multiple repositories and hints to the contribution process:

Please note that this illustration does not include creation and/or assignment of the bugtracker issue ID to the developer, as well as details on commit process, described above.

  • No labels