darktable-org / darktable-org/darktable

RFC: git bisect is broken by huge number of commits PRs

Open
#21,881 18 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

priority: high
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

The Problem

I, and others, lately have tried git bisect to determine which commit caused an issue. We can't complete the bisect because we keep running across multiple (last time I gave up after 5 consecutive) commits that aren't able to compile. So at this point we have no tools other than intuition and guesstimation to determine what is wrong or where a problem started.

The Cause

The cause of the issue is PR's with large numbers of commits, probably generated by AI and never compiled, which are then merged.

A Proposed Fix

Any commit with more than 10 (?) commits gets the commits squashed since the PR will compile and then we can at least bisect down to a PR, which is better than nothing.

A Real Fix

Devs should compile each commit. If you are using AI and it generates 10 commits to fix/add a feature/problem and only the last one is compiled, then squash the commits to the last one or compile each of the intermediate commits to make sure they don't break git bisect.

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

The issue names no source files, tests, or entry points. Start by reading the proposed commit-squashing and compilation practices and the comment discussion; done requires an agreed, actionable approach for keeping bisect usable when intermediate commits do not compile.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.