Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/FileDiff.java7
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java11
2 files changed, 12 insertions, 6 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/FileDiff.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/FileDiff.java
index b21f4b6b49..4a1830d484 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/FileDiff.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/FileDiff.java
@@ -70,12 +70,13 @@ public class FileDiff extends WorkbenchAdapter {
String rightPath = right.getPath();
int i = leftPath.lastIndexOf('/');
int j = rightPath.lastIndexOf('/');
- int p = leftPath.substring(0, i + 1)
- .compareTo(rightPath.substring(0, j + 1));
+ int p = leftPath.substring(0, i + 1).replace('/', '\001').compareTo(
+ rightPath.substring(0, j + 1).replace('/', '\001'));
if (p != 0) {
return p;
}
- return leftPath.compareTo(rightPath);
+ return leftPath.substring(i + 1)
+ .compareTo(rightPath.substring(j + 1));
}
};
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
index b76f0b4785..6395190e7c 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
@@ -4416,12 +4416,17 @@ public class StagingView extends ViewPart
private String getStagingEntryText(Object element) {
String text = ""; //$NON-NLS-1$
StagingEntry stagingEntry = getStagingEntry(element);
+ // Replace slashes by ASCII \001 to make e.g.
+ // "org.eclipse.egit.gitflow/..." sort before
+ // "org.eclipse.egit.gitflow.ui/...".
if (stagingEntry != null) {
+ text = stagingEntry.getPath().replace('/', '\001');
if (isFileNamesFirst()) {
- text = stagingEntry.getName();
- } else {
- text = stagingEntry.getPath();
+ text = stagingEntry.getName() + '\001' + text;
}
+ } else if (element instanceof StagingFolderEntry) {
+ text = ((StagingFolderEntry) element).getNodePath().toString()
+ .replace('/', '\001');
}
return text;
}

Back to the top