Skip to content

Commit

Permalink
修复revert命令没有处理移动文件的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
asforest authored Jul 1, 2024
1 parent 18fa6fb commit 7dcdf0a
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/main/kotlin/mcpatch/interactive/Revert.kt
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,18 @@ class Revert

val reader = PatchFileReader(version, ZipFile(patchFile.file, "utf-8"))

println("$version >>")

// 删除旧文件和旧目录,还有创建新目录
reader.meta.oldFiles.map { (historyDir + it) }.forEach { it.delete() }
reader.meta.oldFolders.map { (historyDir + it) }.forEach { it.delete() }
reader.meta.newFolders.map { (historyDir + it) }.forEach { it.mkdirs() }

// 移动文件
for (move in reader.meta.moveFiles) {
(historyDir + move.to).parent.mkdirs()
(historyDir + move.from).move(historyDir + move.to)
}

for ((index, entry) in reader.withIndex())
{
Log.info("[$version] 解压(${index + 1}/${reader.meta.newFiles.size}) ${entry.meta.path}")
Expand All @@ -57,6 +64,8 @@ class Revert
file.file.bufferedOutputStream().use { stream -> entry.copyTo(stream) }
}

reader.meta.oldFolders.map { (historyDir + it) }.forEach { it.delete() }

Log.info("[$version] 版本 $version 处理完成")
}

Expand All @@ -74,4 +83,4 @@ class Revert

Log.info("所有目录已经还原!")
}
}
}

0 comments on commit 7dcdf0a

Please sign in to comment.