mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-18 11:20:38 +01:00
Upgrade java-diff-utils (#2678)
This commit is contained in:
@@ -55,7 +55,7 @@ libraryDependencies ++= Seq(
|
|||||||
"com.zaxxer" % "HikariCP" % "4.0.2",
|
"com.zaxxer" % "HikariCP" % "4.0.2",
|
||||||
"com.typesafe" % "config" % "1.4.1",
|
"com.typesafe" % "config" % "1.4.1",
|
||||||
"fr.brouillard.oss.security.xhub" % "xhub4j-core" % "1.1.0",
|
"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",
|
"org.cache2k" % "cache2k-all" % "1.6.0.Final",
|
||||||
"net.coobird" % "thumbnailator" % "0.4.13",
|
"net.coobird" % "thumbnailator" % "0.4.13",
|
||||||
"com.github.zafarkhaja" % "java-semver" % "0.9.0",
|
"com.github.zafarkhaja" % "java-semver" % "0.9.0",
|
||||||
@@ -260,11 +260,6 @@ pomExtra := (
|
|||||||
</developers>
|
</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 ++= {
|
Test / testOptions ++= {
|
||||||
if (scala.util.Properties.isWin) {
|
if (scala.util.Properties.isWin) {
|
||||||
Seq(
|
Seq(
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package gitbucket.core.service
|
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.{CommitComments => _, Session => _, _}
|
||||||
import gitbucket.core.model.Profile._
|
import gitbucket.core.model.Profile._
|
||||||
import gitbucket.core.model.Profile.profile.blockingApi._
|
import gitbucket.core.model.Profile.profile.blockingApi._
|
||||||
import difflib.{Delta, DiffUtils}
|
|
||||||
import gitbucket.core.service.RepositoryService.RepositoryInfo
|
import gitbucket.core.service.RepositoryService.RepositoryInfo
|
||||||
import gitbucket.core.api.JsonFormat
|
import gitbucket.core.api.JsonFormat
|
||||||
import gitbucket.core.controller.Context
|
import gitbucket.core.controller.Context
|
||||||
@@ -441,16 +442,17 @@ trait PullRequestService {
|
|||||||
case Left(oldLine) => updateCommitCommentPosition(commentId, newCommitId, Some(oldLine), None)
|
case Left(oldLine) => updateCommitCommentPosition(commentId, newCommitId, Some(oldLine), None)
|
||||||
case Right(newLine) =>
|
case Right(newLine) =>
|
||||||
var counter = 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 {
|
delta.getType match {
|
||||||
case Delta.TYPE.CHANGE =>
|
case DeltaType.CHANGE =>
|
||||||
if (delta.getOriginal.getPosition <= newLine - 1 && newLine <= delta.getOriginal.getPosition + delta.getRevised.getLines.size) {
|
if (delta.getSource.getPosition <= newLine - 1 && newLine <= delta.getSource.getPosition + delta.getTarget.getLines.size) {
|
||||||
counter = -1
|
counter = -1
|
||||||
} else {
|
} 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 DeltaType.INSERT => counter = counter + delta.getTarget.getLines.size
|
||||||
case Delta.TYPE.DELETE => counter = counter - delta.getOriginal.getLines.size
|
case DeltaType.DELETE => counter = counter - delta.getSource.getLines.size
|
||||||
|
case DeltaType.EQUAL => // Do nothing
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (counter >= 0) {
|
if (counter >= 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user