From c5f7ddf266f8390c3c986408e4daf1f7d9cc756b Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Mon, 6 Jun 2022 01:41:41 +0200 Subject: [PATCH] Fixed stage all when there are removed files --- src/main/kotlin/app/git/StatusManager.kt | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/app/git/StatusManager.kt b/src/main/kotlin/app/git/StatusManager.kt index 1fdf581..f5aeb73 100644 --- a/src/main/kotlin/app/git/StatusManager.kt +++ b/src/main/kotlin/app/git/StatusManager.kt @@ -39,15 +39,10 @@ class StatusManager @Inject constructor( } suspend fun stage(git: Git, statusEntry: StatusEntry) = withContext(Dispatchers.IO) { - if (statusEntry.statusType == StatusType.REMOVED) { - git.rm() - .addFilepattern(statusEntry.filePath) - .call() - } else { - git.add() - .addFilepattern(statusEntry.filePath) - .call() - } + git.add() + .addFilepattern(statusEntry.filePath) + .setUpdate(statusEntry.statusType == StatusType.REMOVED) + .call() } suspend fun stageHunk(git: Git, diffEntry: DiffEntry, hunk: Hunk) = withContext(Dispatchers.IO) { @@ -160,7 +155,7 @@ class StatusManager @Inject constructor( } splitted = splitted.mapIndexed { index, line -> - val lineWithBreak = line +lineDelimiter.orEmpty() + val lineWithBreak = line + lineDelimiter.orEmpty() if (index == splitted.count() - 1 && !content.endsWith(lineWithBreak)) { line @@ -238,6 +233,12 @@ class StatusManager @Inject constructor( git .add() .addFilepattern(".") + .setUpdate(true) // Modified and deleted files + .call() + git + .add() + .addFilepattern(".") + .setUpdate(false) // For newly added files .call() }