Skip to content

git merge --squash issue with loading commit message/detecting merge state #1973

@mithom

Description

@mithom

When doing a merge with the squash option, there is a difference between CLI and GUI right now that is annoying.
Sourcegit is not detecting the default merge message or $GIT_DIR/MERGE_HEAD state. Because of this, it is unclear that the merge still needs to be committed (that's fine for me). More importantly, the commit screen does not give the default commit message.
When testing in command line

here is an example where i just instantly closed the commit message editor without changing anything through command line.
default commit example.txt

and this is the state after a squash merge in sourcegit:
Image

the documentation specifies that this should be detected through the $GIT_DIR/MERGE_HEAD variable that is changed:

--squash
--no-squash

Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit, move the HEAD, or record $GIT_DIR/MERGE_HEAD (to cause the next git commit command to create a merge commit). This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus).

With --no-squash perform the merge and commit the result. This option can be used to override --squash.
With --squash, --commit is not allowed, and will fail.

i already took a look at the merge command, everything seemed fine there, i'll be looking at the commit window next to see if i can find the issue over there.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions