[git] intern root path in GitCommit

This commit is contained in:
Julia Beliaeva
2018-06-04 17:53:05 +03:00
parent 18893675b9
commit d7f07872ef
+3 -1
View File
@@ -22,6 +22,7 @@ import com.intellij.openapi.vcs.VcsException;
import com.intellij.openapi.vcs.changes.Change;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.WeakStringInterner;
import com.intellij.vcs.log.Hash;
import com.intellij.vcs.log.VcsUser;
import com.intellij.vcs.log.impl.VcsChangesLazilyParsedDetails;
@@ -43,6 +44,7 @@ import java.util.List;
*/
public final class GitCommit extends VcsChangesLazilyParsedDetails {
private static final Logger LOG = Logger.getInstance(GitCommit.class);
private static final WeakStringInterner ourPathsInterner = new WeakStringInterner();
@NotNull private final GitLogUtil.DiffRenameLimit myRenameLimit;
public GitCommit(Project project, @NotNull Hash hash, @NotNull List<Hash> parents, long commitTime, @NotNull VirtualFile root,
@@ -89,7 +91,7 @@ public final class GitCommit extends VcsChangesLazilyParsedDetails {
}
private class UnparsedChanges extends VcsChangesLazilyParsedDetails.UnparsedChanges<GitLogStatusInfo> {
@NotNull private final String myRootPath = getRoot().getPath();
@NotNull private final String myRootPath = ourPathsInterner.intern(getRoot().getPath());
private UnparsedChanges(@NotNull Project project,
@NotNull List<List<GitLogStatusInfo>> changesOutput) {