Skip to content

fix: git squash method no longer runs rebase#156

Merged
levibostian merged 1 commit intomainfrom
fix-sqaush
Mar 16, 2026
Merged

fix: git squash method no longer runs rebase#156
levibostian merged 1 commit intomainfrom
fix-sqaush

Conversation

@levibostian
Copy link
Copy Markdown
Owner

Related GitHub Issues

Problem

In a pull request of mine, I encountered a scenario where the squash simulated merge was failing with decaf. However, the GitHub UI for the pull request did not indicate there were merge conflicts for the squash method, though it did for the rebase. This, to me, proves that the current implementation of squash does not actually match what GitHub does. Therefore, I suggest changing the behavior to a new implementation.

Solution

Implement git merge --squash as the new solution.

Testing

  • Added automated tests.
  • Manually tested. If you check this box, provide instructions for others to test, too.

Sure, there are automated tests, but this change must be tested in a real PR to validate that it's the correct command.

I can verify that it did fix the problem I saw in the PR. It's a simple solution, so I feel good about it.

Notes for reviewers

In a pull request of mine, I encountered a scenario where the squash simulated merge was failing with decaf. However, the GitHub UI for the pull request did not indicate there were merge conflicts for the squash method, though it did for the rebase. This, to me, proves that the current implementation of squash does not actually match what GitHub does. Therefore, I suggest changing the behavior to a new implementation.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 16, 2026

decaf

Running deployments in test mode. Results will appear below.
If this pull request and all of it's parent pull requests are merged using the...

...🟩 squash 🟩 merge method... 🚢 The next version of the project will be: 0.12.1

Learn more
Latest release: 0.12.0
Commit of latest release: 7a66814

Commits since last release:
- fix: git squash method no longer runs rebase

Related GitHub Issues

<!-- Link to any related GitHub issues that this pull request addresses or closes. -->

Problem

<!-- A clear description of the problem that this pull request is solving. -->

In a pull request of mine, I encountered a scenario where the squash simulated merge was failing with decaf. However, the GitHub UI for the pull request did not indicate there were merge conflicts for the squash method, though it did for the rebase. This, to me, proves that the current implementation of squash does not actually match what GitHub does. Therefore, I suggest changing the behavior to a new implementation.

Solution

<!-- Describe the approach you took to solve the problem and the changes made in this pull request. -->

Implement git merge --squash as the new solution.

Testing

<!-- Choose one of the below options for how you tested the code change. Include any specific setup or instructions for testing. -->

  • Added automated tests.
  • Manually tested. If you check this box, provide instructions for others to test, too.

Sure, there are automated tests, but this change must be tested in a real PR to validate that it's the correct command.

I can verify that it did fix the problem I saw in the PR. It's a simple solution, so I feel good about it.

Notes for reviewers

<!-- If there is any additional information you would like to share with the person reviewing this pull request, please provide it here. -->
- do not send git log stdout to debug logs anymore. too much noise. (#155)

Related GitHub Issues

Problem

git log output is just wayyyyy too noisey. It has made debugging
difficult to do. Sure, there can be an error in the git log command. if
there is, I think we can make something like a script that you install
that runs for the 'get latest release' step that logs all parsed commits
and that will help debug git commits that were incorrectly parsed.

Solution

Because this is a one-off case for the logger and we dont want to modify
any other command behavior, add an optional parameter to exec.run that
changes this behavior. So the default behavior doesn't change.

Testing

  • Added automated tests.
  • Manually tested. If you check this box, provide instructions for
    others to test, too.

Going to turn on debug mode for this PR and see if it works as expected.

Notes for reviewers

...🟩 rebase 🟩 merge method... 🚢 The next version of the project will be: 0.12.1

Learn more
Latest release: 0.12.0
Commit of latest release: 7a66814

Commits since last release:
- fix: git squash method no longer runs rebase

In a pull request of mine, I encountered a scenario where the squash simulated merge was failing with decaf. However, the GitHub UI for the pull request did not indicate there were merge conflicts for the squash method, though it did for the rebase. This, to me, proves that the current implementation of squash does not actually match what GitHub does. Therefore, I suggest changing the behavior to a new implementation.
- do not send git log stdout to debug logs anymore. too much noise. (#155)

Related GitHub Issues

Problem

git log output is just wayyyyy too noisey. It has made debugging
difficult to do. Sure, there can be an error in the git log command. if
there is, I think we can make something like a script that you install
that runs for the 'get latest release' step that logs all parsed commits
and that will help debug git commits that were incorrectly parsed.

Solution

Because this is a one-off case for the logger and we dont want to modify
any other command behavior, add an optional parameter to exec.run that
changes this behavior. So the default behavior doesn't change.

Testing

  • Added automated tests.
  • Manually tested. If you check this box, provide instructions for
    others to test, too.

Going to turn on debug mode for this PR and see if it works as expected.

Notes for reviewers

@levibostian levibostian merged commit 3100912 into main Mar 16, 2026
11 checks passed
@levibostian levibostian deleted the fix-sqaush branch March 16, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant