Tools/Phabricator

From Blender Developer Wiki
Jump to: navigation, search

Phabricator

Phabricator is the software powering developer.blender.org, providing a bug tracker, task management, repository browsing, code review, code auditing, and repository hosting and configuration.

Projects

Main Projects

There are 3 main projects, which all have their own repository, and membership defines commit rights to that repository.

  • BF Blender
  • Addons
  • Translations
Module Projects

Each Blender module also has its own project, with the module team as members of that project. Examples of these projects are Animation, Cycles, Mesh Modeling, Motion Tracking and User Interface. These all have a project page with links to documentation, mailing lists and other relevant information. For example if a project is without a maintainer, the project page might mention that we are looking for a maintainer and that the project can't accept many patches at this point.

Other Projects

Some other types of projects could be:

  • Blender 2.xx: temporary project to collect tasks for an upcoming release
  • Open Movies: projects to track all development tasks for some open movie project
  • Moderators: project that acts as a group of all users with extended editing capabilities.

Tasks

Tasks in Phabricator are not organized in trackers, but are rather more loose. To bring organization, tasks have these properties:

  • Assigned to one or more project.
  • One of the following types
    • Bug: something that is broken or not working as intended
    • Patch: code proposed to be added
    • Feature Request: request for a new feature or functionality to be added
    • To Do: tasks that needs to be done
    • Design: design for how some feature, functionality or implementation should work
    • OpenGL Error: bug in graphics card or driver that causes problems in Blender
  • Priority will be one of:
    • Needs Triage: task just submitted and needs evaluation by developer
    • Unbreak Now: critical feature that is broken and should be fixed asap
    • Incomplete: need more information from author or other to proceed. These tasks will also expire within a week
    • Confirmed: bug confirmed
    • Normal: normal priority, needs investigation or work by developer
    • Low: low priority, needs investigation or work by developer
  • Tasks can be closed as:
    • Resolved: bug is solved, feature implemented, to do is done, etc
    • Duplicate: duplicate of another task
    • Invalid: not an actual bug, not a wanted feature, out of scope, etc
    • Archived: no or unknown resolution, but no longer relevant

Joining Projects

To give a new developer commit rights:

  • An administrator adds them to either the BF Blender, Addons or Translations project
  • Also add them to the Moderators project so they get more editing capabilities
  • The developer will also need to set up Git + SSH to commit.

To give non-developers extra editing capabilities to help managing bugs, tasks, projects, etc.

  • Add them to the Moderators project

To make someone officially a module team member:

  • Add them to the relevant module project