Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git-imerge continue fails with "Commit <SHA> is not usable; it is an octopus merge" when log.showSignature is set in config #141

Open
cscutcher opened this issue Feb 13, 2019 · 2 comments

Comments

@cscutcher
Copy link

Casual investigation suggests that this is because get_commit_parents runs git log and is not expecting to see the signature in the output.

Unfortunately there doesn't seem to be an inverse of --show-signature and specifying --pretty doesn't seem to prevent the sig showing up in the output of git log. Perhaps imerge could disable this option in local config for the duration of the imerge? or use a more sophisticated way to query parents?

@mhagger
Copy link
Owner

mhagger commented Mar 4, 2019

Thanks for the report.

The core of the problem is that git-imerge uses the "porcelain" command, git log, rather than the corresponding "plumbing" command, git rev-list. (That, in turn, is because git rev-list is broken when used with --pretty.) The output of git log, being "porcelain", is not guaranteed to be stable across Git versions.

That being said, I think we can fix this particular problem by always invoking git log with an additional option to disable signature display:

git -c log.showsignature=false log [...]

NB: the new option has to come between git and log, not after log.

Do you want to try to figure out where in git-imerge that option needs to be added and submit a pull request?

@cscutcher
Copy link
Author

I'll try and do that when I get the chance. Cheers for the info.

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

No branches or pull requests

2 participants