Fix empty merges not being allowed
This commit is contained in:
parent
d3d2b606b4
commit
b2dc0ecc50
@ -1,8 +1,10 @@
|
|||||||
package com.jetpackduba.gitnuro.git.workspace
|
package com.jetpackduba.gitnuro.git.workspace
|
||||||
|
|
||||||
|
import com.jetpackduba.gitnuro.extensions.isMerging
|
||||||
import com.jetpackduba.gitnuro.git.author.LoadAuthorUseCase
|
import com.jetpackduba.gitnuro.git.author.LoadAuthorUseCase
|
||||||
import com.jetpackduba.gitnuro.git.config.LoadSignOffConfigUseCase
|
import com.jetpackduba.gitnuro.git.config.LoadSignOffConfigUseCase
|
||||||
import com.jetpackduba.gitnuro.git.config.LocalConfigConstants
|
import com.jetpackduba.gitnuro.git.config.LocalConfigConstants
|
||||||
|
import com.jetpackduba.gitnuro.git.repository.GetRepositoryStateUseCase
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.eclipse.jgit.api.Git
|
import org.eclipse.jgit.api.Git
|
||||||
@ -13,6 +15,7 @@ import javax.inject.Inject
|
|||||||
class DoCommitUseCase @Inject constructor(
|
class DoCommitUseCase @Inject constructor(
|
||||||
private val loadSignOffConfigUseCase: LoadSignOffConfigUseCase,
|
private val loadSignOffConfigUseCase: LoadSignOffConfigUseCase,
|
||||||
private val loadAuthorUseCase: LoadAuthorUseCase,
|
private val loadAuthorUseCase: LoadAuthorUseCase,
|
||||||
|
private val getRepositoryStateUseCase: GetRepositoryStateUseCase
|
||||||
) {
|
) {
|
||||||
suspend operator fun invoke(
|
suspend operator fun invoke(
|
||||||
git: Git,
|
git: Git,
|
||||||
@ -33,9 +36,12 @@ class DoCommitUseCase @Inject constructor(
|
|||||||
} else
|
} else
|
||||||
message
|
message
|
||||||
|
|
||||||
|
val state = getRepositoryStateUseCase(git)
|
||||||
|
val isMerging = state.isMerging
|
||||||
|
|
||||||
git.commit()
|
git.commit()
|
||||||
.setMessage(finalMessage)
|
.setMessage(finalMessage)
|
||||||
.setAllowEmpty(amend) // Only allow empty commits when amending
|
.setAllowEmpty(amend || isMerging) // Only allow empty commits when amending
|
||||||
.setAmend(amend)
|
.setAmend(amend)
|
||||||
.setAuthor(author)
|
.setAuthor(author)
|
||||||
.call()
|
.call()
|
||||||
|
Loading…
Reference in New Issue
Block a user