diff --git a/plugins/git4idea/src/git4idea/branch/GitCompareUtil.kt b/plugins/git4idea/src/git4idea/branch/GitCompareUtil.kt index f0fe11faebb9..e70ee35bf926 100644 --- a/plugins/git4idea/src/git4idea/branch/GitCompareUtil.kt +++ b/plugins/git4idea/src/git4idea/branch/GitCompareUtil.kt @@ -5,7 +5,7 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.vcs.log.data.index.IndexDataGetter import com.intellij.vcs.log.impl.HashImpl import com.intellij.vcs.log.util.IntCollectionUtil -import com.intellij.vcs.log.util.VcsLogUtil +import git4idea.GitUtil import it.unimi.dsi.fastutil.ints.IntOpenHashSet import it.unimi.dsi.fastutil.ints.IntSet import java.util.regex.Pattern @@ -49,7 +49,7 @@ private fun IndexDataGetter.selectSourceCommits(targetCommit: Int, val hashesString = match.subSequence(suffixStart.length, match.length - 1) // -1 for the last ")" val hashesCandidates = hashesString.split(",", " ", ";") for (h in hashesCandidates) { - if (VcsLogUtil.HASH_REGEX.matcher(h).matches()) { + if (GitUtil.isHashString(h, false)) { val hash = HashImpl.build(h) val index = logStorage.getCommitIndex(hash, root) if (sourceCandidatesExtended.contains(index)) { diff --git a/plugins/git4idea/src/git4idea/commands/GitImpl.java b/plugins/git4idea/src/git4idea/commands/GitImpl.java index e47fdbd34b92..c14e48a36093 100644 --- a/plugins/git4idea/src/git4idea/commands/GitImpl.java +++ b/plugins/git4idea/src/git4idea/commands/GitImpl.java @@ -24,10 +24,10 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.containers.ContainerUtil; import com.intellij.vcs.log.Hash; import com.intellij.vcs.log.impl.HashImpl; -import com.intellij.vcs.log.util.VcsLogUtil; import com.intellij.vcsUtil.VcsFileUtil; import com.intellij.vcsUtil.VcsUtil; import git4idea.GitContentRevision; +import git4idea.GitUtil; import git4idea.branch.GitRebaseParams; import git4idea.config.GitExecutable; import git4idea.config.GitExecutableManager; @@ -757,7 +757,7 @@ public class GitImpl extends GitImplBase { GitCommandResult result = Git.getInstance().runCommand(handler); String output = result.getOutputAsJoinedString(); if (result.success()) { - if (VcsLogUtil.HASH_REGEX.matcher(output).matches()) { + if (GitUtil.isHashString(output, false)) { return HashImpl.build(output); } else { diff --git a/plugins/git4idea/src/git4idea/light/LightGitUtil.kt b/plugins/git4idea/src/git4idea/light/LightGitUtil.kt index 78cacb417027..012d90588497 100644 --- a/plugins/git4idea/src/git4idea/light/LightGitUtil.kt +++ b/plugins/git4idea/src/git4idea/light/LightGitUtil.kt @@ -23,7 +23,7 @@ fun getLocation(directory: VirtualFile, executable: GitExecutable): String { if (name != "HEAD") return name val hash = Git.getInstance().runCommand(createRevParseHandler(directory, executable, abbrev = false)).getOutputOrThrow() - if (VcsLogUtil.HASH_REGEX.matcher(hash).matches()) { + if (GitUtil.isHashString(hash, false)) { return VcsLogUtil.getShortHash(hash) } throw VcsException(GitBundle.message("git.light.cant.find.current.revision.exception.message", directory.path)) diff --git a/plugins/git4idea/src/git4idea/push/GitPushOperation.java b/plugins/git4idea/src/git4idea/push/GitPushOperation.java index e91d4a447fa1..64663bae6781 100644 --- a/plugins/git4idea/src/git4idea/push/GitPushOperation.java +++ b/plugins/git4idea/src/git4idea/push/GitPushOperation.java @@ -48,7 +48,6 @@ import org.jetbrains.annotations.Nullable; import java.util.*; import static com.intellij.util.containers.ContainerUtil.filter; -import static com.intellij.vcs.log.util.VcsLogUtil.HASH_REGEX; import static com.intellij.vcs.log.util.VcsLogUtil.HEAD; import static git4idea.commands.GitAuthenticationListener.GIT_AUTHENTICATION_SUCCESS; import static git4idea.push.GitPushNativeResult.Type.FORCED_UPDATE; @@ -324,12 +323,12 @@ public class GitPushOperation { private static boolean isBranch(@NotNull GitPushNativeResult result) { String sourceRef = result.getSourceRef(); - return sourceRef.startsWith("refs/heads/") || HASH_REGEX.matcher(sourceRef).matches(); + return sourceRef.startsWith("refs/heads/") || GitUtil.isHashString(sourceRef, false); } private static boolean isHash(@NotNull GitPushNativeResult result) { String sourceRef = result.getSourceRef(); - return HASH_REGEX.matcher(sourceRef).matches(); + return GitUtil.isHashString(sourceRef, false); } private static boolean isHeadRelativeReference(@NotNull GitPushNativeResult result) { diff --git a/plugins/git4idea/src/git4idea/search/GitSearchEverywhereContributor.kt b/plugins/git4idea/src/git4idea/search/GitSearchEverywhereContributor.kt index 083eb2c04213..05ef746ef76a 100644 --- a/plugins/git4idea/src/git4idea/search/GitSearchEverywhereContributor.kt +++ b/plugins/git4idea/src/git4idea/search/GitSearchEverywhereContributor.kt @@ -29,9 +29,9 @@ import com.intellij.vcs.log.impl.VcsLogContentUtil import com.intellij.vcs.log.impl.VcsLogNavigationUtil.jumpToCommit import com.intellij.vcs.log.impl.VcsProjectLog import com.intellij.vcs.log.ui.render.LabelIcon -import com.intellij.vcs.log.util.VcsLogUtil import com.intellij.vcs.log.util.containsAll import com.intellij.vcs.log.visible.filters.VcsLogFilterObject +import git4idea.GitUtil import git4idea.GitVcs import git4idea.branch.GitBranchUtil import git4idea.i18n.GitBundle @@ -63,7 +63,7 @@ internal class GitSearchEverywhereContributor(private val project: Project) : We val dataPack = awaitFullLogDataPack(dataManager, progressIndicator) ?: return - if (filter.isSelected(COMMIT_BY_HASH) && pattern.length >= 7 && VcsLogUtil.HASH_REGEX.matcher(pattern).matches()) { + if (filter.isSelected(COMMIT_BY_HASH) && pattern.length >= 7 && GitUtil.isHashString(pattern, false)) { storage.findCommitId { progressIndicator.checkCanceled() it.hash.asString().startsWith(pattern, true) && dataPack.containsAll(listOf(it), storage)