0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-24 00:17:37 +01:00
mongodb/docs/owners/merging.md
Catalin Sumanaru 97912501a3 SERVER-91922 Update mongo/docs/owners/merging.md (#24038)
GitOrigin-RevId: 5b20f16c2d2692dd7e0dfb1346e11487d7c342b2
2024-06-28 09:32:17 +00:00

2.7 KiB

Merging

Standard Merge

If you have some changes locally that you want to merge into the mongodb repo, you must create a pull request. Once the pull request is created you must get approval from an owner of the files changed. If the files changed have no owner then you must get approval from one other engineer. Once you have gotten approval you will see a green merge button which, when pressed, will merge your code.

Override / Emergency patch

Warning

This is a distruptive action, please default to using standard merges.

Some in-flight patches might fail, and that will make the authors sad.

An overriden patch will skip the merge queue and force all the pending merges in the queue to restart, since the base was updated.

override_image

Prerequisites

  • The change must qualify as an emergency change.
  • The change must have been approved by at least one overrider.
  • The change must have been approved by at least one owner of the affected modules.
  • The change must have been re-synced (merge / rebase) with the targeted branch in the past 8h.
  • The change must fully pass the "Commit Queue" check. This should be verified by the overrider.

Note

Once all the prerequisites are met, the overrider will then be able to initiate the emergency patch process by pressing the big red "Merge pull request" button.

Emergency Change

To qualify as an emergency change, it must fit into any of the following scenarios:

  • Fixing the commit queue:
    • The Standard Merge option is currently broken.
    • This change aims fix standard merge option.
  • You are reverting a change that has caused a failure in mainline.
  • You are making a large scale, time-sensitive changes. These are changes which could be very difficult to merge in normal conditions:
    • Renaming a prolific typo in the codebase.
    • Applying large-scale formatting.
    • Applying a generated fix.
    • Other...

Overrider

An overrider is defined as a member of 10gen/mongo-break-glass.

In most cases, module owners should already be members of 10gen/mongo-break-glass.

Merging into an older branch (backports)

TODO: in the interim please see the wiki for details