Date: Wed, 2 Jan 2008 22:51:33 -0200 Signed-off-by: Roger C. Soares <rogersoares@xxxxxxxxxxxxxxxx> --- 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html