Upgrade java-diff-utils (#2678)

This commit is contained in:
Naoki Takezoe
2021-02-20 18:27:15 +09:00
committed by GitHub
parent d991fdcbd9
commit debbc21bf3
2 changed files with 10 additions and 13 deletions

View File

@@ -55,7 +55,7 @@ libraryDependencies ++= Seq(
"com.zaxxer" % "HikariCP" % "4.0.2",
"com.typesafe" % "config" % "1.4.1",
"fr.brouillard.oss.security.xhub" % "xhub4j-core" % "1.1.0",
"com.github.bkromhout" % "java-diff-utils" % "2.1.1",
"io.github.java-diff-utils" % "java-diff-utils" % "4.9",
"org.cache2k" % "cache2k-all" % "1.6.0.Final",
"net.coobird" % "thumbnailator" % "0.4.13",
"com.github.zafarkhaja" % "java-semver" % "0.9.0",
@@ -260,11 +260,6 @@ pomExtra := (
</developers>
)
licenseOverrides := {
case DepModuleInfo("com.github.bkromhout", "java-diff-utils", _) =>
LicenseInfo(LicenseCategory.Apache, "Apache-2.0", "http://www.apache.org/licenses/LICENSE-2.0")
}
Test / testOptions ++= {
if (scala.util.Properties.isWin) {
Seq(

View File

@@ -1,9 +1,10 @@
package gitbucket.core.service
import com.github.difflib.DiffUtils
import com.github.difflib.patch.DeltaType
import gitbucket.core.model.{CommitComments => _, Session => _, _}
import gitbucket.core.model.Profile._
import gitbucket.core.model.Profile.profile.blockingApi._
import difflib.{Delta, DiffUtils}
import gitbucket.core.service.RepositoryService.RepositoryInfo
import gitbucket.core.api.JsonFormat
import gitbucket.core.controller.Context
@@ -441,16 +442,17 @@ trait PullRequestService {
case Left(oldLine) => updateCommitCommentPosition(commentId, newCommitId, Some(oldLine), None)
case Right(newLine) =>
var counter = newLine
patch.getDeltas.asScala.filter(_.getOriginal.getPosition < newLine).foreach { delta =>
patch.getDeltas.asScala.filter(_.getSource.getPosition < newLine).foreach { delta =>
delta.getType match {
case Delta.TYPE.CHANGE =>
if (delta.getOriginal.getPosition <= newLine - 1 && newLine <= delta.getOriginal.getPosition + delta.getRevised.getLines.size) {
case DeltaType.CHANGE =>
if (delta.getSource.getPosition <= newLine - 1 && newLine <= delta.getSource.getPosition + delta.getTarget.getLines.size) {
counter = -1
} else {
counter = counter + (delta.getRevised.getLines.size - delta.getOriginal.getLines.size)
counter = counter + (delta.getTarget.getLines.size - delta.getSource.getLines.size)
}
case Delta.TYPE.INSERT => counter = counter + delta.getRevised.getLines.size
case Delta.TYPE.DELETE => counter = counter - delta.getOriginal.getLines.size
case DeltaType.INSERT => counter = counter + delta.getTarget.getLines.size
case DeltaType.DELETE => counter = counter - delta.getSource.getLines.size
case DeltaType.EQUAL => // Do nothing
}
}
if (counter >= 0) {