Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 88549 Details for
Bug 217070
[Apply Patch] Show matched hunks in Apply Patch wizard
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch #1
patch_217070_20080201.txt (text/plain), 15.45 KB, created by
Tomasz Zarna
on 2008-02-01 08:35:32 EST
(
hide
)
Description:
Patch #1
Filename:
MIME Type:
Creator:
Tomasz Zarna
Created:
2008-02-01 08:35:32 EST
Size:
15.45 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.compare_clean >Index: compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java,v >retrieving revision 1.229 >diff -u -r1.229 TextMergeViewer.java >--- compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java 19 Sep 2007 18:57:31 -0000 1.229 >+++ compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java 1 Feb 2008 13:28:18 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2007 IBM Corporation and others. >+ * Copyright (c) 2000, 2008 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -1191,6 +1191,9 @@ > public boolean isThreeWay() { > return TextMergeViewer.this.isThreeWay(); > } >+ public boolean isPatchHunkOk() { >+ return TextMergeViewer.this.isPatchHunkOk(); >+ } > > }); > >@@ -4442,6 +4445,12 @@ > return Utilities.isHunk(getInput()); > } > >+ private boolean isPatchHunkOk() { >+ if (isPatchHunk()) >+ return Utilities.isHunkOk(getInput()); >+ return false; >+ } >+ > /** > * Return the provided start position of the hunk in the target file. > * @return the provided start position of the hunk in the target file >Index: compare/org/eclipse/compare/internal/merge/DocumentMerger.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/merge/DocumentMerger.java,v >retrieving revision 1.5 >diff -u -r1.5 DocumentMerger.java >--- compare/org/eclipse/compare/internal/merge/DocumentMerger.java 28 Jan 2008 13:17:33 -0000 1.5 >+++ compare/org/eclipse/compare/internal/merge/DocumentMerger.java 1 Feb 2008 13:28:19 -0000 >@@ -75,7 +75,8 @@ > boolean isPatchHunk(); > > boolean isShowPseudoConflicts(); >- >+ >+ boolean isPatchHunkOk(); > } > > public class Diff { >Index: compare/org/eclipse/compare/internal/ICompareUIConstants.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/ICompareUIConstants.java,v >retrieving revision 1.11 >diff -u -r1.11 ICompareUIConstants.java >--- compare/org/eclipse/compare/internal/ICompareUIConstants.java 22 May 2007 20:19:52 -0000 1.11 >+++ compare/org/eclipse/compare/internal/ICompareUIConstants.java 1 Feb 2008 13:28:19 -0000 >@@ -22,6 +22,8 @@ > public static final String ETOOL_PREV= "elcl16/prev_nav.gif"; //$NON-NLS-1$ > public static final String CTOOL_PREV= ETOOL_PREV; > >+ public static final String HUNK_OBJ = "obj16/hunk_obj.gif"; //$NON-NLS-1$ >+ > public static final String ERROR_OVERLAY= "ovr16/error_ov.gif"; //$NON-NLS-1$ > public static final String IS_MERGED_OVERLAY= "ovr16/merged_ov.gif"; //$NON-NLS-1$ > public static final String REMOVED_OVERLAY= "ovr16/removed_ov.gif"; //$NON-NLS-1$ >Index: compare/org/eclipse/compare/internal/Utilities.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/Utilities.java,v >retrieving revision 1.66 >diff -u -r1.66 Utilities.java >--- compare/org/eclipse/compare/internal/Utilities.java 28 Jan 2008 13:17:33 -0000 1.66 >+++ compare/org/eclipse/compare/internal/Utilities.java 1 Feb 2008 13:28:19 -0000 >@@ -16,6 +16,7 @@ > > import org.eclipse.compare.*; > import org.eclipse.compare.contentmergeviewer.IDocumentRange; >+import org.eclipse.compare.internal.patch.HunkResult; > import org.eclipse.compare.patch.IHunk; > import org.eclipse.compare.structuremergeviewer.DiffNode; > import org.eclipse.compare.structuremergeviewer.ICompareInput; >@@ -739,6 +740,25 @@ > return false; > } > >+ public static boolean isHunkOk(Object input) { >+ if (input != null && input instanceof DiffNode){ >+ ITypedElement right = ((DiffNode) input).getRight(); >+ if (right != null) { >+ Object element = Utilities.getAdapter(right, HunkResult.class); >+ if (element instanceof HunkResult) { >+ return ((HunkResult)element).isOK(); >+ } >+ } >+ ITypedElement left = ((DiffNode) input).getLeft(); >+ if (left != null) { >+ Object element = Utilities.getAdapter(left, HunkResult.class); >+ if (element instanceof HunkResult) >+ return ((HunkResult)element).isOK(); >+ } >+ } >+ return false; >+ } >+ > public static void schedule(Job job, IWorkbenchSite site) { > if (site != null) { > IWorkbenchSiteProgressService siteProgress = (IWorkbenchSiteProgressService) site.getAdapter(IWorkbenchSiteProgressService.class); >Index: compare/org/eclipse/compare/internal/patch/HunkTypedElement.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/HunkTypedElement.java,v >retrieving revision 1.8 >diff -u -r1.8 HunkTypedElement.java >--- compare/org/eclipse/compare/internal/patch/HunkTypedElement.java 24 Jul 2007 13:35:01 -0000 1.8 >+++ compare/org/eclipse/compare/internal/patch/HunkTypedElement.java 1 Feb 2008 13:28:19 -0000 >@@ -37,11 +37,13 @@ > * @see org.eclipse.compare.ITypedElement#getImage() > */ > public Image getImage() { >+ LocalResourceManager imageCache = PatchCompareEditorInput.getImageCache(fHunkResult.getDiffResult().getConfiguration()); >+ ImageDescriptor imageDesc = CompareUIPlugin.getImageDescriptor(ICompareUIConstants.HUNK_OBJ); >+ Image image = imageCache.createImage(imageDesc); > if (!fHunkResult.isOK()) { >- LocalResourceManager imageCache = PatchCompareEditorInput.getImageCache(fHunkResult.getDiffResult().getConfiguration()); >- return getHunkErrorImage(null, imageCache, false); >- } >- return null; >+ return getHunkErrorImage(image, imageCache, true); >+ } >+ return image; > } > > public static Image getHunkErrorImage(Image baseImage, LocalResourceManager imageCache, boolean onLeft) { >@@ -49,7 +51,7 @@ > Image image = imageCache.createImage(desc); > return image; > } >- >+ > public boolean isManuallyMerged() { > return getPatcher().isManuallyMerged(getHunkResult().getHunk()); > } >@@ -91,6 +93,8 @@ > public Object getAdapter(Class adapter) { > if (adapter == IHunk.class) > return fHunkResult; >+ if (adapter == HunkResult.class) >+ return fHunkResult; > return Platform.getAdapterManager().getAdapter(this, adapter); > } > >Index: compare/org/eclipse/compare/internal/patch/PatchMessages.properties >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.properties,v >retrieving revision 1.45 >diff -u -r1.45 PatchMessages.properties >--- compare/org/eclipse/compare/internal/patch/PatchMessages.properties 10 Jan 2008 08:48:12 -0000 1.45 >+++ compare/org/eclipse/compare/internal/patch/PatchMessages.properties 1 Feb 2008 13:28:19 -0000 >@@ -85,6 +85,7 @@ > PreviewPatchPage2_RetargetAction=&Move > PreviewPatchPage2_RetargetTooltip=Move the selected patch element to another resource > PreviewPatchPage2_OrphanedHunk=Unmatched Patch Segment >+PreviewPatchPage2_MatchedHunk=Matched Hunk > PreviewPatchPage2_IgnoreWSAction=Ignore whitespace > PreviewPatchPage_FuzzFactor_tooltip=Allow this number of context lines to be ignored > PreviewPatchPage_FileExists_error=(file already exists) >@@ -98,6 +99,7 @@ > PreviewPatchPage_GuessFuzz_text= &Guess > PreviewPatchPage_GuessFuzzProgress_text= Guessing Fuzz Factor... > PreviewPatchPage_GuessFuzzProgress_format= {0} (hunk #{1}) >+PreviewPatchPage2_ShowMatched=Show &matched hunks > PreviewPatchLabelDecorator_ProjectDoesNotExist=(Project does not exist in workspace) > > # >Index: compare/org/eclipse/compare/internal/patch/PatchCompareEditorInput.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchCompareEditorInput.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchCompareEditorInput.java >--- compare/org/eclipse/compare/internal/patch/PatchCompareEditorInput.java 15 Jan 2008 15:13:02 -0000 1.6 >+++ compare/org/eclipse/compare/internal/patch/PatchCompareEditorInput.java 1 Feb 2008 13:28:19 -0000 >@@ -110,6 +110,7 @@ > private final WorkspacePatcher patcher; > private TreeViewer viewer; > private boolean fShowAll; >+ private boolean showMatched = false; > > /** > * Creates a new PatchCompareEditorInput and makes use of the passed in CompareConfiguration >@@ -232,6 +233,8 @@ > } > }); > } >+ } else if (showMatched) { >+ HunkDiffNode.createDiffNode(node, hunkResult, false, true, false); > } > } > } >@@ -253,8 +256,13 @@ > IStructuredSelection sel= (IStructuredSelection) event.getSelection(); > Object obj= sel.getFirstElement(); > if (obj instanceof HunkDiffNode) { >- getCompareConfiguration().setLeftLabel(PatchMessages.PreviewPatchPage2_PatchedLocalFile); >- getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_OrphanedHunk); >+ if (((HunkDiffNode) obj).getHunkResult().isOK()) { >+ getCompareConfiguration().setLeftLabel(PatchMessages.PatcherCompareEditorInput_LocalCopy); >+ getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_MatchedHunk); >+ } else { >+ getCompareConfiguration().setLeftLabel(PatchMessages.PreviewPatchPage2_PatchedLocalFile); >+ getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_OrphanedHunk); >+ } > } else { > getCompareConfiguration().setLeftLabel(PatchMessages.PatcherCompareEditorInput_LocalCopy); > getCompareConfiguration().setRightLabel(PatchMessages.PatcherCompareEditorInput_AfterPatch); >@@ -287,6 +295,14 @@ > fShowAll = show; > } > >+ public boolean isShowMatched() { >+ return showMatched; >+ } >+ >+ protected void setShowMatched(boolean show) { >+ showMatched = show; >+ } >+ > public void contributeDiffViewerToolbarItems(Action[] actions, boolean workspacePatch){ > ToolBarManager tbm= CompareViewerPane.getToolBarManager(viewer.getControl().getParent()); > if (tbm != null) { >Index: compare/org/eclipse/compare/internal/patch/PreviewPatchPage2.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PreviewPatchPage2.java,v >retrieving revision 1.32 >diff -u -r1.32 PreviewPatchPage2.java >--- compare/org/eclipse/compare/internal/patch/PreviewPatchPage2.java 28 Jan 2008 13:47:31 -0000 1.32 >+++ compare/org/eclipse/compare/internal/patch/PreviewPatchPage2.java 1 Feb 2008 13:28:19 -0000 >@@ -410,7 +410,7 @@ > > // 1st row > createStripSegmentCombo(c); >- addSpacer(c); >+ createShowMatchedToggle(c); > createFuzzFactorChooser(c); > > // 2nd row >@@ -569,11 +569,20 @@ > fStripPrefixSegments.setLayoutData(gd); > } > >- private void addSpacer(Composite parent) { >- Label label= new Label(parent, SWT.NONE); >- GridData gd= new GridData(GridData.FILL_HORIZONTAL); >- gd.widthHint= 10; >- label.setLayoutData(gd); >+ private void createShowMatchedToggle(Composite parent) { >+ final Button showMatched = new Button(parent, SWT.CHECK); >+ showMatched.setText(PatchMessages.PreviewPatchPage2_ShowMatched); >+ GridData gd = new GridData(GridData.VERTICAL_ALIGN_CENTER >+ | GridData.HORIZONTAL_ALIGN_BEGINNING >+ | GridData.GRAB_HORIZONTAL); >+ showMatched.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ fInput.setShowMatched(showMatched.getSelection()); >+ rebuildTree(); >+ } >+ }); >+ showMatched.setSelection(fInput.isShowMatched()); >+ showMatched.setLayoutData(gd); > } > > public int getFuzzFactor() { >Index: compare/org/eclipse/compare/internal/patch/PatchMessages.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/PatchMessages.java,v >retrieving revision 1.23 >diff -u -r1.23 PatchMessages.java >--- compare/org/eclipse/compare/internal/patch/PatchMessages.java 10 Jan 2008 08:48:12 -0000 1.23 >+++ compare/org/eclipse/compare/internal/patch/PatchMessages.java 1 Feb 2008 13:28:19 -0000 >@@ -98,9 +98,11 @@ > public static String PreviewPatchPage2_IgnoreWSAction; > public static String PreviewPatchPage2_IgnoreWSTooltip; > public static String PreviewPatchPage2_OrphanedHunk; >+ public static String PreviewPatchPage2_MatchedHunk; > public static String PreviewPatchPage2_PatchedLocalFile; > public static String PreviewPatchPage2_RetargetAction; > public static String PreviewPatchPage2_RetargetTooltip; >+ public static String PreviewPatchPage2_ShowMatched; > public static String RetargetPatchElementDialog_0; > public static String RetargetPatchElementDialog_1; > } >Index: compare/org/eclipse/compare/internal/patch/HunkDiffNode.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/internal/patch/HunkDiffNode.java,v >retrieving revision 1.6 >diff -u -r1.6 HunkDiffNode.java >--- compare/org/eclipse/compare/internal/patch/HunkDiffNode.java 16 Mar 2007 19:53:10 -0000 1.6 >+++ compare/org/eclipse/compare/internal/patch/HunkDiffNode.java 1 Feb 2008 13:28:19 -0000 >@@ -19,7 +19,11 @@ > private final HunkResult result; > > public static HunkDiffNode createDiffNode(PatchFileDiffNode parent, HunkResult result, boolean fullContext) { >- return new HunkDiffNode(result, parent, Differencer.CHANGE, getAncestorElement(result, fullContext), getLeftElement(result, fullContext), getRightElement(result, fullContext)); >+ return createDiffNode(parent, result, fullContext, fullContext, fullContext); >+ } >+ >+ public static HunkDiffNode createDiffNode(PatchFileDiffNode parent, HunkResult result, boolean ancestorFullContext, boolean leftFullContext, boolean rightFullContext) { >+ return new HunkDiffNode(result, parent, Differencer.CHANGE, getAncestorElement(result, ancestorFullContext), getLeftElement(result, leftFullContext), getRightElement(result, rightFullContext)); > } > > private static ITypedElement getRightElement(HunkResult result, boolean fullContext) { >@@ -34,6 +38,9 @@ > } > > private static ITypedElement getAncestorElement(HunkResult result, boolean fullContext) { >+ if (!fullContext && result.isOK()) { >+ return new HunkTypedElement(result, false /* before state */, fullContext); >+ } > if (!fullContext) { > // Don't provide an ancestor if the hunk didn't match or we're not doing fullContext > return null; >Index: compare/org/eclipse/compare/CompareViewerSwitchingPane.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.compare/compare/org/eclipse/compare/CompareViewerSwitchingPane.java,v >retrieving revision 1.30 >diff -u -r1.30 CompareViewerSwitchingPane.java >--- compare/org/eclipse/compare/CompareViewerSwitchingPane.java 16 Mar 2007 19:38:14 -0000 1.30 >+++ compare/org/eclipse/compare/CompareViewerSwitchingPane.java 1 Feb 2008 13:28:17 -0000 >@@ -132,8 +132,10 @@ > if (content != null && !content.isDisposed()) > content.dispose(); > >- } else >- oldEmpty= false; >+ } else { >+ oldEmpty= false; >+ } >+ > setContent(null); > > fViewer= newViewer;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 217070
:
88549
|
88550
|
88551
|
91020
|
91021