* [EGIT PATCH] Remove directory entries from Structure Compare view.
@ 2008-01-04 2:11 Roger C. Soares
2008-01-05 1:11 ` Robin Rosenberg
0 siblings, 1 reply; 2+ messages in thread
From: Roger C. Soares @ 2008-01-04 2:11 UTC (permalink / raw)
To: git
Date: Wed, 2 Jan 2008 22:51:33 -0200
Signed-off-by: Roger C. Soares <rogersoares@intelinet.com.br>
---
Please evaluate.
.../GitCompareFileRevisionEditorInput.java | 25 +++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitCompareFileRevisionEditorInput.java
b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitCompareFileRevisionEditorInput.java
index 82cd205..eaba1fa 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitCompareFileRevisionEditorInput.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/GitCompareFileRevisionEditorInput.java
@@ -21,6 +21,7 @@ import org.eclipse.compare.ITypedElement;
import org.eclipse.compare.structuremergeviewer.DiffNode;
import org.eclipse.compare.structuremergeviewer.Differencer;
import org.eclipse.compare.structuremergeviewer.ICompareInput;
+import org.eclipse.compare.structuremergeviewer.IDiffElement;
import org.eclipse.compare.structuremergeviewer.IStructureComparator;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFileState;
@@ -299,7 +300,29 @@ public class GitCompareFileRevisionEditorInput extends CompareEditorInput {
ensureContentsCached(getLeftRevision(), getRightRevision(), monitor);
initLabels(input);
setTitle(NLS.bind(TeamUIMessages.SyncInfoCompareInput_title, new String[] { input.getName() }));
- return input;
+
+ // The compare editor (Structure Compare) will show the diff filenames
+ // with their project relative path. So, no need to also show directory entries.
+ DiffNode flatDiffNode = new DiffNode(null,Differencer.CHANGE,null,left,right);
+ flatDiffView(flatDiffNode, (DiffNode) input);
+
+ return flatDiffNode;
+ }
+
+ private void flatDiffView(DiffNode rootNode, DiffNode currentNode) {
+ if(currentNode != null) {
+ IDiffElement[] dElems = currentNode.getChildren();
+ if(dElems != null) {
+ for(IDiffElement dElem : dElems) {
+ DiffNode dNode = (DiffNode) dElem;
+ if(dNode.getChildren() != null && dNode.getChildren().length > 0) {
+ flatDiffView(rootNode, dNode);
+ } else {
+ rootNode.add(dNode);
+ }
+ }
+ }
+ }
}
}
--
1.5.3.7
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-01-05 1:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-04 2:11 [EGIT PATCH] Remove directory entries from Structure Compare view Roger C. Soares
2008-01-05 1:11 ` Robin Rosenberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox