Merge "Ensure stable tag sort in PlotWalk"

This commit is contained in:
Shawn O. Pearce 2010-12-05 18:10:12 -05:00 committed by Code Review
commit ed7e38b98d
1 changed files with 19 additions and 2 deletions

View File

@ -44,6 +44,10 @@
package org.eclipse.jgit.revplot;
import static org.eclipse.jgit.lib.Constants.R_HEADS;
import static org.eclipse.jgit.lib.Constants.R_REMOTES;
import static org.eclipse.jgit.lib.Constants.R_TAGS;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
@ -131,11 +135,14 @@ public int compare(Ref o1, Ref o2) {
return -1;
if (t1 < t2)
return 1;
return 0;
} catch (IOException e) {
// ignore
return 0;
}
int cmp = kind(o1) - kind(o2);
if (cmp == 0)
cmp = o1.getName().compareTo(o2.getName());
return cmp;
}
long timeof(RevObject o) {
@ -148,5 +155,15 @@ long timeof(RevObject o) {
}
return 0;
}
int kind(Ref r) {
if (r.getName().startsWith(R_TAGS))
return 0;
if (r.getName().startsWith(R_HEADS))
return 1;
if (r.getName().startsWith(R_REMOTES))
return 2;
return 3;
}
}
}