darktable-org / darktable-org/darktable

RFC Pull Request Guidelines

Open
#20,123 10 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

no-issue-activity
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

#18656 exposed some issues with the way that we do Pull Requests, Those issues resulted in some "heated" discussions, bent feelings and lots of frustration. It also didn't reflect well on us as a community.

So, in order to try and prevent another problem/experience like this maybe we need to have some guidelines for pull requests.


Some Suggestions

Limited Scope

How many specific issues should we fix in one PR? #18656 started out as UI improvements but grew and grew until it was "impossible to review and far too large a project for one pr" in the words of one dev.

Related Issue

Require a related issue? This is important when we are fixing something that is "broke". The issue should identify what's 'broke" and how to reproduce. That way we can test the PR to make sure "broke" is fixed. This issue also allows us to make sure that "broke" is broke.

New features should also have an issue to propose and explain the feature, so that we are aware of what's coming. It also creates a place to "work" the feature before useless effort is expended.

How Much Change is Too Much

This kind of goes hand in hand with Limited Scope but at what point do we decide that module changes to "fix" a module result in enough change to warrant a new module, especially if the existing module isn't broken.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue #18656 and the discussion here to understand the pull-request problems being addressed. Compare the suggestions about scope, related issues, and module changes, then determine whether the project has an existing contributor-guidelines location. Done means an agreed, maintainable set of pull-request guidelines is documented.

Written by the indexing model from the issue text.

Assessment

Domain
developer-experience, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.