Using the bug tracker

From Gramps
Revision as of 21:41, 28 September 2015 by Sam888 (talk | contribs) (How to proceed)
Jump to: navigation, search

The bug/issue tracker for Gramps is located at the following URL: https://www.gramps-project.org/bugs This bug/issue tracker allows users and developers to log new issues and track them as they progress. Please take some time to read the issue tracker instructions below and read how to create a good bug report. Also, have a look at known issues and common problems.

Report a bug

1. Login

To report a bug, you must have a login account on https://www.gramps-project.org/bugs/login_page.php, which is the Gramps bug tracker. When you create a user account, remember that it can take up to 12 hours before a notification email is send to you. Only after clicking on the link in the email can you submit bugs. Your email address will be handled confidentially.

2. Search existing bugs

Perhaps the bug you want to report has been submitted before. To check this, click on 'View Issues'. The top of the page is reserved for filters, which you set. Normally the default filters are just fine. Under these filters, there is a search box. Enter the terms best describing the bug, and click apply filter. If you have an error message, try pasting a part of the error, to see if it is has been reported already.

If the bug is already reported, read the bug report over, and see if you can add to the information. If so, you can leave a note with extra information to help the developers.

3. Submit new bug

Click on Report Issue, and enter the required information, see below on how to select the project to which the bug belongs. Be verbose, the developers are bad at mind reading. We shall mercilessly close the bugs which have no meaningful information at all, such as #7126. Do not forget to list the Gramps version you are using. You can check this in Gramps by clicking in the Gramps program the Help menu, option About.

Projects

In the upper right corner of the issue tracker, there is a place to select the "project" for the bugs. "Projects" are a way to categorize issues. There are two types of projects in the issue tracker:

  1. The Feature Requests project is a place for recording requests for new features.
  2. The Gramps project is a place for recording all issues with Gramps.
    1. The projects with names that look like Gramps x.x.X are where issues are reported that apply specifically to a maintenance branch (see Types of Branches). A separate project exists for each maintenance branch.
    2. The Gramps Master project should only be used by developers and testers of the latest code. It is a place for recording issues that only apply to the master branch in Git (see Types of Branches). There is only one "Gramps Master" project because there is only one master branch in the Git repository.

How to proceed

The first step in submitting an issue on the tracker is to determine which project it belongs to.

  • If the issue represents functionality that does not currently exist in Gramps, then the issue should be filed under the Feature Requests project.
  • If the issue represents a problem with functionality that has been released in a stable release of code, then the issue should be filed under the project that corresponds to the maintenance branch for that release. For example, a bug found in Gramps 4.2.0 should be filed under the Gramps 4.2.0 project.
  • If the issue represents a problem with functionality that only exists the master branch, or the problem exists in the master branch, but not any stable releases, then the issue should be filed under the Gramps Master project.

Resolving bugs

This information is for the developers following up on the submitted issues.

The roadmap page of the bug tracker lists the bugs currently prioritized for the next releases. If you are looking for a bug to fix, this is a good place to start. Placement on the roadmap is controlled by the "Target Version" field fo the bug. Special "X.Y.99" phony releases, such as "3.4.99" and "4.0.99", list bugs that we would eventually like to fix for the "X.Y" version, but don't really know the milestone yet. Bugs that really should hold up a release should be on the roadmap with a real release number, and should only be moved after giving a reason or heads up on the devel list [1]. If you fix a bug scheduled for a later milestone before a previous one is out, please manually adjust the target release field before marking the bug resolved, otherwise the roadmap display will be inaccurate [2].

In general, when resolving an issue, it is always a good idea to add a note with the hash of the commit that fixed the problem.

When resolving issues in a maintenance branch, one should always set the "Fixed in version" field to the version of the next release that will be made from that branch. This is done so that the issue properly appears in the ChangeLog page for that project (http://bugs.gramps-project.org/changelog_page.php).

Bugs in maintenance branch projects should not be marked as closed until the developer has committed the change into the corresponding maintenance branch. Additionally, it is the developers responsibility to make sure the change has been merged into the master branch.

Bug triage

Help the Gramps project Bug triage.

Syntax

Mantis bug tracker uses its own syntax code :

  • # before a bug number writes a link to the bug.
  • ~ before a comment number writes a link to the comment, same as : {url}#c{comment number}.
  • we can try to use some HTML tags into text field, like : <pre> </pre> <i> </i> <b> </b>