maindrop-00113 lines mergedmade to order · ships in about a week
vibetokens

pull requests · line 09 of drop 001

Do not merge

“Do not merge” marks a pull request that should not land yet, because it is unfinished, waiting on something else, or open for discussion only.

“Do not merge,” often shortened to DNM, is a warning attached to a pull request. The change exists so people can see it, test it or discuss it, but it should not go into the main branch yet. It might depend on another change, be waiting for a release window, or be an experiment that was never meant to land.

Teams mark it in a few ways: a “do not merge” label, a DNM or WIP prefix in the title, or a line at the top of the description. Labels and titles are conventions, though. Nothing stops someone from clicking merge on a green pull request that only says “please don’t.”

The built-in tools are more reliable. GitHub has draft pull requests, which cannot be merged until someone marks them “Ready for review.” GitLab has draft merge requests, set by starting the title with “Draft:” or using the mark-as-draft option. Some teams also add a required status check that fails while the do-not-merge label is present, so branch protection enforces it.

When you use the label, say why and what would remove it: “DNM until the billing migration ships on Thursday.” A pull request that says do not merge with no reason tends to stay open forever, because nobody is sure who is allowed to decide.

And when the condition clears, take the label off. The next person will assume it still means something.

This is the one piece printed on the back instead of the front. People behind you can read it as policy.

In the wild

Marking this DNM until the API change in #431 is deployed. Review is welcome now.

On a shirt

Wear DO NOT MERGE.

A label for the back of your shirt, where the people walking behind you will read it as policy.