[git] no need to convert string to hash and back

This commit is contained in:
Julia Beliaeva
2017-07-12 18:05:28 +03:00
parent 42bcc477b8
commit 54bff064d7
@@ -23,8 +23,7 @@ import com.intellij.openapi.vcs.changes.Change;
import com.intellij.openapi.vcs.changes.ContentRevision;
import com.intellij.openapi.vcs.history.VcsRevisionNumber;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.vcs.log.Hash;
import com.intellij.vcs.log.impl.HashImpl;
import com.intellij.util.containers.ContainerUtil;
import git4idea.GitContentRevision;
import git4idea.GitRevisionNumber;
import org.jetbrains.annotations.NotNull;
@@ -44,7 +43,7 @@ public class GitChangesParser {
@NotNull Date date,
@NotNull List<String> parentsHashes) throws VcsException {
GitRevisionNumber thisRevision = new GitRevisionNumber(hash, date);
List<GitRevisionNumber> parentRevisions = prepareParentRevisions(parentsHashes);
List<GitRevisionNumber> parentRevisions = ContainerUtil.map(parentsHashes, GitRevisionNumber::new);
List<Change> result = new ArrayList<>();
for (GitLogStatusInfo statusInfo : statusInfos) {
@@ -53,19 +52,6 @@ public class GitChangesParser {
return result;
}
private static List<GitRevisionNumber> prepareParentRevisions(List<String> parentsHashes) {
final List<Hash> parents = new ArrayList<>(parentsHashes.size());
for (String parentsShortHash : parentsHashes) {
parents.add(HashImpl.build(parentsShortHash));
}
final List<GitRevisionNumber> parentRevisions = new ArrayList<>(parents.size());
for (Hash parent : parents) {
parentRevisions.add(new GitRevisionNumber(parent.asString()));
}
return parentRevisions;
}
private static Change parseChange(final Project project, final VirtualFile vcsRoot, final List<GitRevisionNumber> parentRevisions,
final GitLogStatusInfo statusInfo, final VcsRevisionNumber thisRevision) throws VcsException {
final ContentRevision before;
@@ -116,5 +102,4 @@ public class GitChangesParser {
}
return new Change(before, after, status);
}
}