IDEA-185603 git: allow rewording last merge commit

GitOrigin-RevId: 41f5e692745fe9d8b27796318bc266e58aa705ba
This commit is contained in:
Aleksey Pivovarov
2023-06-15 13:17:29 +02:00
committed by intellij-monorepo-bot
parent 1117a53197
commit 4c32af2622
2 changed files with 12 additions and 1 deletions

View File

@@ -20,6 +20,17 @@ internal class GitRewordAction : GitSingleCommitEditingAction() {
GitBundle.message("rebase.log.action.operation.reword.name")
)
override fun checkNotMergeCommit(commitEditingData: SingleCommitEditingData): String? {
val commit = commitEditingData.selectedCommit
val repository = commitEditingData.repository
if (commit.id.asString() == repository.currentRevision) {
// allow amending merge commit
return null
}
return super.checkNotMergeCommit(commitEditingData)
}
override fun actionPerformedAfterChecks(commitEditingData: SingleCommitEditingData) {
val details = getOrLoadDetails(commitEditingData.project, commitEditingData.logData, commitEditingData.selection)
val commit = details.first()

View File

@@ -182,7 +182,7 @@ abstract class GitCommitEditingActionBase<T : GitCommitEditingActionBase.Multipl
return null
}
private fun checkNotMergeCommit(commitEditingData: T): @Nls String? {
protected open fun checkNotMergeCommit(commitEditingData: T): @Nls String? {
val commitList = commitEditingData.selectedCommitList
commitList.forEach { commit ->
if (commit !is LoadingDetails && commit.parents.size > 1) {