Parallel single-branch auto-merge requires a Git repository with at least one commit

Open
#1,581 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
62/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
git, go
Domain
devtools, tooling

Research direction

Start by reproducing Parallel with the all, first, and judge joins, then focus on the explicitly configured single-branch auto-merge entry point using an uninitialized directory and a Git repository with no commits. Compare both cases with a repository containing an initial commit; done means auto-merge can be exercised in a newly initialized empty repository while the other join behaviors remain unchanged.

Written by the indexing model from the issue text.

Description

Area

Parallel delegation

Customer journey

Compare several approaches.

Scenario

Run Parallel work using all, first, and judge joins. Test project mutation only through explicitly configured single-branch auto-merge.

Expected behavior
  • all has no winner and does not preserve or merge branch changes.
  • first preserves the selected fork for inspection.
  • judge preserves the selected fork for inspection.
  • No branch changes reach the project unless single-branch auto-merge is explicitly configured.
  • Explicit single-branch auto-merge can be tested in a newly initialized repository, including one with no commits.
Actual behavior

The all, first, and judge joins behave as expected.

However, single-branch auto-merge:

  1. Cannot be tested without first running git init.
  2. Still fails after git init when the repository has no commits.

This prevents exercising the auto-merge path in a new or otherwise empty project.

Steps to reproduce
  1. Start in a directory that is not a Git repository.
  2. Run Parallel with an explicitly configured single branch and auto-merge.
  3. Observe that the auto-merge cannot proceed.
  4. Run git init, but do not create an initial commit.
  5. Retry the same single-branch auto-merge.
  6. Observe that it still fails.
  7. Create an initial commit and retry to confirm the behavior depends on an existing Git history.
Dominant language
Go
Stars
152
Forks
16
Avg merge
14h 48m
Merged PRs (30d)
536

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.

More from stacklok/mecatl

All issues in stacklok/mecatl

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.