Wine HQ

  WineHQ Menu
  WineHQ
  AppDB
  Bugzilla
  Wine Wiki
  Wine Forums
  About
  Introduction
  Features
  Screenshots
  Contributing
  News Blog
  World Wine News
  Press
  License
  Download
  Get Wine Now
  Support
  Getting Help
  FAQ
  Documentation
  HowTo
  Live Support Chat
  Paid Support
  Development
  Developers Guide
  Mailing Lists
  GIT
  Sending Patches
  To Do Lists
  Fun Projects
  Janitorial
  Winelib
  Status
  Resources
  WineConf
  Languages
English English
Español Español
  Search WineHQ

Sending Patches

Generating and Submitting Patches

Note: this is a quick reference on how to send us patches. For detailed instructions please see the Coding Practice chapter in our online documentation.

Please submit patches to the Wine patches mailing list, wine-patches@winehq.org. (Note that if you're not subscribed to the mailing list, the mailing list administrators must first check your submission to make sure it's not spam before they can let it through. There is no attempt to apply patches that appear in the newsgroup or anywhere else to the Git tree.)

When submitting patches, please:

  • Include a ChangeLog entry with your real name, email address and a description of what your patch does.
  • Keep the patch small and the point of the change clear.
  • Submit one fix or group of related changes per patch.
  • Generate your patch against the latest version of Wine from the WineHQ Git tree (see below).
  • Test your patch, and if possible write a test case demonstrating it is correct.
  • Be careful to not corrupt the patch through line-wrapping.
  • Avoid unnecessarily changing the formatting of the code.
  • Don't mix tabs and spaces because it makes the diff output unreadable, use consistent indentation.
  • Use standard C, avoid C++ comments and inline variable declarations.
  • Read the diff and make sure it contains only what you want in it.

Accepted patches will appear in the wine-cvs mailing list.

Patches with obvious problems may receive a response on wine-devel.

Some patches may not receive any response. In this case, your patch maybe considered Not Obviously Correct, and you can:

  • Check the patch over yourself, and think about what can be done to clarify the patch (hints in the list above).
  • Write a mail to wine-devel, explain your patch and request it be reviewed by anybody that cares to review it.
  • Ask for advice about your patch on #winehackers.
  • Unless one already exists, open a bug in bugzilla describing the problem you are trying to solve (eg. ./configure fails on Solaris, etc) and attach your patch.

If your patch didn't receive a response for 3 days of WineHQ Git commits your patch has a high chance of being in this category.
You may find it difficult to solicit feedback, so think carefully about the comments you receive.
Just do not give up!


Generating a patch for WineHQ with Git

It's best to send small patches against the current tree using Git. First, make sure your tree is up to date, as described on the Git page.

Check in your patches to your Git tree using git commit.

If you're going to use git imap-send make sure that you've set up the proper options in your Git config file, then run:

git format-patch --stdout --keep-subject --attach origin | git imap-send

That should upload your patches into your IMAP drafts folder, and allow you to check and send them. In Mozilla Thunderbird, that is as simple as clicking "Edit Draft..." then "Send" if you have setup the mail headers in the Git config file correctly.

If you can't use IMAP, use the following command to generate patchs:

git format-patch --keep-subject origin

That should generate a number of txt files, which you can send manually.