From 51c6f513b02bd178cc27c8afbde4f49611e81a8e Mon Sep 17 00:00:00 2001 From: Mathias Kinzler Date: Wed, 28 Jul 2010 11:46:05 +0200 Subject: [PATCH] Stack Overflow in EGit History View This is caused by a recursion in PlotWalk.getTags(). As a hotfix, the sort was simply removed. The sort must be re-implemented so that parseAny() is not called again (currently, this happens in the PlotRefComparator). Change-Id: I060d26fda8a75ac803acaf89cfb7d3b4317328f3 Signed-off-by: Mathias Kinzler Signed-off-by: Christian Halstrick --- org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java b/org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java index 476592f5d..666cb0287 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revplot/PlotWalk.java @@ -45,7 +45,6 @@ package org.eclipse.jgit.revplot; import java.io.IOException; -import java.util.Arrays; import java.util.Collection; import java.util.Comparator; import java.util.Map; @@ -108,7 +107,9 @@ public class PlotWalk extends RevWalk { tags = null; else { tags = list.toArray(new Ref[list.size()]); - Arrays.sort(tags, new PlotRefComparator()); + // TODO hotfix, this results in a loop and consequently stack overflow + // when opening the history view in EGit + // Arrays.sort(tags, new PlotRefComparator()); } return tags; }