Howto contribute/en

De Goffiwiki.

Some information to help you starting with SàT development can be found here: SàT_développement_(technical_HOWTOs)/en.

Thanks to read the following points if you plan to submit a contribution.


Coding style

It can be found here: Coding_style/en

Comment your commit

Please comment your commit using the following rule:

  • always use spaces and no tabs, as in Python source code
  • enumerations must use dashes (-) and be aligned with the first space following the :
  • commits are preceded by a keyword, which correspond to the main part modified. Some examples:
    • SàT
      • plugin XEP-0XXX: bla bla
      • plugins XEP-0XXX, XEP-0YYY: bla bla
      • core (memory): bla bla
      • core (XMLUI): bla bla
      • misc (README): bla bla
    • Libervia:
      • server: bla bla
      • browser: bla bla
      • browser, server: bla bla

Use 'misc' for the parts that don't fit any category. You can sometimes avoid the subargument for core, but most of time it's needed

  • give a short description in the first line. If you have several changes to comment, please separate them with a "+" on the first line, but try not to mix several modifications within the same changeset, it would make it harder to keep track of the changes.
  • if you need to detail your changeset (more than one line), the first line must finish with a :. That's because some tools only display the first line and you want to let the others know that some more lines are following.
  • if you fix a bug/change request or just want to reference it, please insert "fix bug XX" in your message, with XX standing for the bug number. A bot is checking the commit messages and when it matches the pattern "fix bug [0..9]+", the message will be automatically appended to the related bug discussion on

Here are examples commit messages:

wix: fixed application quitting (fix bug 25)
plugin XEP-0277: RuntimeError is now catched during link parsing (can happen if no service jid is found)
primitivus: fixed urwid issues with recent urwid versions:
            - detail 1
            - detail 2
fix bug 18
core (XMPP): sendMessage refactoring:
             - sendMessage now use JID instead  of unicode, bridge method using unicode is now _sendMessage
             - added no_trigger argument, so it's now possible to forbid trigger execution (to avoid any plugin when we send a message)
browser: dialogs take **kwargs arguments + unibox helper method:
              - add the **kwargs arguments to the dialog classes, especially to pass the Width='xxx' setting
              - add a method getTargetAndData to UniBox, for external use and to get the message recipient and body without dealing with the target hooks, selected panels...

Use mercurial

Please export your Mercurial commit to a patch using the "git" format, and set your name and email to the username parameter. Your setting file ~/.hgrc should look like that:

git = True



Instead of setting the git option in this file, you can also specify the paramater "--git" on the command line. If you have several revisions to export, you can compile them to the same patch file like that:

hg export --git -r <first_rev>:<last_rev> > <path_to_file>

Let the other know

Please create a new message to the list and put [en] or [fr] in the subject if the message is in only one language. Messages that are sent in both English and French do not need that prefix. Do not forget to attach your patch to that email. You don't need to compress it, so other people can have it displayed below your message body.

Thank you for contributing!