Note:

This page is primarily intended for developers of Mercurial.

Managing Bugs

https://docs.google.com/spreadsheets/d/1lEvdGoN-jgLMZ_1eu8ceXDzEdWGWuDTzPSDVCz4jtxs/embed/oimg?id=1lEvdGoN-jgLMZ_1eu8ceXDzEdWGWuDTzPSDVCz4jtxs&oid=1929125339&zx=w96cwe5uoapn

How to do bug triage on the BugTracker.

1. Definitions

1.1. Status levels:

1.2. Priorities

2. Regressions, and why they're a priority

We pay special attention to regressions, which are defined as "a bug that breaks something that worked in earlier releases". These issues should immediately be set to urgent. We should attempt to fix these bugs before the next release.

Because regressions may break workflows or tools that users have come to depend on, they are more important than other bugs that simply impede new ways of trying to use Mercurial. Large numbers of unaddressed regressions will also make upgrading risky and unattractive for users, which is unhealthy for a project.

Note that "performance regressions" generally do not meet the above definition, and thus should not necessarily be promoted to urgent.

/!\ Because regressions are higher priority than other bugs, bug fixes in one area that introduce a regression elsewhere are considered worse than no action. This will prevent certain classes of bugs from being fixed.

3. How to do triage

3.1. Handling individual bugs

{i} There is a hook installed on an hourly mirror of main that causes HgBot to update the BugTracker according to changelog commit messages. Summaries containing '(issueNNNN)' will automatically move issues to the testing state. References to issueNNNN in the body of the message will create references in that issue to the changeset. You can also explicitly write closes issueNNN or fixes issueNNN to move the bug into testing, or see issueNNN or addressesNNN to create a reference in the issue.

3.2. Dealing with third-party issues

If the third-party project is large enough to have its own BTS:

For smaller projects, we'll allow using our BTS to track issues if the maintainer is a known BTS user:

For any other projects:

3.3. Dealing with patches on the BTS

We don't accept patches on the BTS:

So when someone adds a patch to the BTS (which already contains a link to ContributingChanges next to the attach button!), do the following immediately so the patch doesn't sit in limbo for years:

3.4. Marking Duplicates

3.5. Reducing Backlog

4. See also


CategoryBugs CategoryDeveloper CategoryProcess