Wine-Staging Patches

From WineHQ Wiki
Revision as of 23:13, 23 April 2017 by NP-Hardass (talk | contribs) (→‎Suitable Patches: Add comma to separate clause)
Jump to: navigation, search

Wine Staging is the testing area for the development branch and focused on maintaining experimental patches. This includes fixes for difficult bugs, prototypes for interesting features or just changes that are risky and need some testing before landing in the development version. All patches have in common that they require more feedback, cleanup or testing before they can be sent to the wine-patches mailing list.

Since April 2017, we have started using a separate patch tracker available at https://dev.wine-staging.com/ to suggest patches for addition to the Wine Staging repository. This change was done to make the project more transparent and to give other people more opportunities to contribute. This article explains which patches are suitable and how they can be submitted for inclusion.

Suitable Patches

Before submitting a patch, you should check if your patches are suitable for Wine Staging. We are interested in experimental patches, which either need further improvements or require testing by users. Examples would be patches which do not meet the coding style guidelines yet, draft patches which implement a new feature, or risky changes which cannot be merged without further testing. Patches which already fulfill all requirements for the development branch should be sent directly to the wine-patches mailing list. In some cases, when we believe a patch has good chances to be accepted in the development branch without any further changes, we might also ask you to give that a try first, before we add it in Wine Staging.

Please note that, in contrast to the development branch, there is no need to submit each patch separately - we are often working with a whole patch series, also called patchsets. A minimal requirement for all patch submissions is that you followed the Clean Room Guidelines as described in the development patch submissions guidelines and that you commit all changes using your real name, otherwise we can not accept your patch. We also recommend to clean up / simplify your patches as much as possible, to make it easier to get them upstream later. There is no strict rule that you have to improve your patches after they have been accepted, but especially for long term contributors, we also expect that a significant amount of effort is used for cleaning up, improving, and sending patches upstream.

Submitting Patches

In order to submit your patches to Wine Staging, you have to go https://dev.wine-staging.com/ and login with an account. The easiest and fastest way is to use an existing Github account - alternatively, you can also register a new account on our page. Afterwards you can click on "Patches -> Submit a patch" in the sidebar. Write a short summary/title for the patches and use the description to explain what you are trying to fix and which applications are affected by this change. This might give us the possibility to test your patch. Please also include the links to any fixed WineHQ bugs, so that we can mark them as STAGED.

After filling out all the fields, make sure that you attached the correct patch files. In some cases it is also allowed to provide a link to the patches instead of attaching them directly - for example if the patches are too complex to attach, or when you just want to get a first opinion. Otherwise, especially when you want people to review your patches, attaching them directly is highly preferred. You also get a warning if you forget to attach any patches.

Submission Workflow

After you have submitted a patch, you will receive an email when someone comments on your patches or the status of your patches changes. See the notification settings below for more information.

If you want to change your submission again (e.g. provide a new version which incorporates the feedback), you can open the patch site and click on the "Submit new revision" button at the top. You can now edit the text and attach the updated patch files. Please note that we do not automatically copy any patch files between revisions. Even if you haven't changed a specific file, you will have to attach it again if you want to keep it. It is still possible to view an older revision at any time by clicking through the revision list at the top.

When your patchset got accepted, the button "Submit new revision" is no longer available. If there is anything else you would like to change, please open a new patch submission. In case your patch got rejected, you can send a new revision at any time.

Commenting on Patches

If you want to comment on a patch, you can provide general comments as well as comments on specific lines of code. For general feedback, just use the input box at the top. Inline comments can be written by clicking on a line in the patch file. You don't have to submit each comment individually, instead you can either use the "Save comments" button at the bottom or press CTRL + ENTER to submit all of your changes.

Notifications

The Wine Staging development website provides an email notification system which can be configured for each patchset separately. When you are subscribed to a patchset, you will receive emails for new comments, new revisions, or when the status of a patchset changes. You can use the notification settings to adjust the system to your needs. There are four configuration options.

Automatically subscribe to my own patches (default: yes)
When you submit a new patch and this option is enabled, you will automatically be added to the watch list. This ensures that you will get notified when someone comments/accepts/rejects your own patches (highly recommended).
Automatically subscribe to patches when adding a comment (default: yes)
When you write a new comment with this option is enabled, you will automatically be added to the watch list of the corresponding patch. This ensures that you will be notified about replies to your comments.
Send notification emails for my own changes (default: no)
When this option is enabled, you will also receive an email for your own actions. This only applies to patches you are subscribed to (or if you opt-in to receive all notifications).
Send notification emails for all changes by other users (without subscription) (default: no)
You will receive notifications for each and every change in the whole Wine Staging patch tracker. This is mostly meant for reviewers / maintainers. Please be aware that that the list of watched patchsets is ignored when this option is enabled. This especially means that you cannot unsubscribe from individual patchsets.

You can also manually subscribe to a patchset by clicking the 'Watch' button at the top right on a patchset page. If you do no longer want to receive updates for a specific patchset, you can either click on the unsubscribe link in the email or manage your list of subscriptions in the notification settings.

Settings

When you are logged in, you should also see an item "Account -> Settings" in the menu bar on the left. Here you can change your password and manage your email addresses. It is also possible to manage your connections with other services, which can be used to sign in (currently only GitHub). If you encounter any issues while changing your account settings, please write an email to webmaster@wine-staging.com.

In order to edit your profile settings, go to "Account -> Profile" and then click on "Edit profile". All information entered here will be publicly available, so only fill out what you would like to share. The only exceptions is your email address, you can decide if it should be hidden (default), only visible to authenticated users, or public for everyone.