View | Details | Raw Unified | Return to bug 217070 | Differences between
and this patch

Collapse All | Expand All

(-)compare/org/eclipse/compare/internal/merge/DocumentMerger.java (-9 / +10 lines)
Lines 75-81 Link Here
75
		boolean isPatchHunk();
75
		boolean isPatchHunk();
76
76
77
		boolean isShowPseudoConflicts();
77
		boolean isShowPseudoConflicts();
78
		
78
79
		boolean isPatchHunkOk();
79
	}
80
	}
80
	
81
	
81
	public class Diff {
82
	public class Diff {
Lines 402-414 Link Here
402
		DocLineComparator sancestor= null;
403
		DocLineComparator sancestor= null;
403
		if (aDoc != null) {
404
		if (aDoc != null) {
404
			sancestor= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
405
			sancestor= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
405
			if (isPatchHunk()) {
406
			/*if (isPatchHunk()) {
406
				if (isHunkOnLeft()) {
407
				if (isHunkOnLeft()) {
407
					sright= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
408
					sright= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
408
				} else {
409
				} else {
409
					sleft= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
410
					sleft= new DocLineComparator(aDoc, toRegion(aRegion), ignoreWhiteSpace);
410
				}
411
				}
411
			}
412
			}*/
412
		}
413
		}
413
			
414
			
414
		final Object[] result= new Object[1];
415
		final Object[] result= new Object[1];
Lines 463-477 Link Here
463
			
464
			
464
			int rightStart= sright.getTokenStart(es.rightStart());
465
			int rightStart= sright.getTokenStart(es.rightStart());
465
			int rightEnd= getTokenEnd2(sright, es.rightStart(), es.rightLength());
466
			int rightEnd= getTokenEnd2(sright, es.rightStart(), es.rightLength());
466
			
467
467
			if (isPatchHunk()) {
468
			/*if (isPatchHunk()) {
468
				if (isHunkOnLeft()) {
469
				if (isHunkOnLeft()) {
469
					rightStart = rightEnd = getHunkStart();
470
					rightStart = rightEnd = getHunkStart();
470
				} else {
471
				} else {
471
					leftStart = leftEnd = getHunkStart();
472
					leftStart = leftEnd = getHunkStart();
472
				}
473
				}
473
			}
474
			}*/
474
			
475
475
			Diff diff= new Diff(null, es.kind(),
476
			Diff diff= new Diff(null, es.kind(),
476
				aDoc, aRegion, ancestorStart, ancestorEnd,
477
				aDoc, aRegion, ancestorStart, ancestorEnd,
477
				lDoc, lRegion, leftStart, leftEnd,
478
				lDoc, lRegion, leftStart, leftEnd,
Lines 609-621 Link Here
609
		fChangeDiffs.add(diff);	// here we remember only the real diffs
610
		fChangeDiffs.add(diff);	// here we remember only the real diffs
610
	}
611
	}
611
	
612
	
612
	private boolean isHunkOnLeft() {
613
	/*private boolean isHunkOnLeft() {
613
		return fInput.isHunkOnLeft();
614
		return fInput.isHunkOnLeft();
614
	}
615
	}
615
616
616
	private int getHunkStart() {
617
	private int getHunkStart() {
617
		return fInput.getHunkStart();
618
		return fInput.getHunkStart();
618
	}
619
	}*/
619
620
620
	private boolean isPatchHunk() {
621
	private boolean isPatchHunk() {
621
		return fInput.isPatchHunk();
622
		return fInput.isPatchHunk();
(-)compare/org/eclipse/compare/internal/patch/HunkDiffNode.java (-1 / +8 lines)
Lines 19-25 Link Here
19
	private final HunkResult result;
19
	private final HunkResult result;
20
20
21
	public static HunkDiffNode createDiffNode(PatchFileDiffNode parent, HunkResult result, boolean fullContext) {
21
	public static HunkDiffNode createDiffNode(PatchFileDiffNode parent, HunkResult result, boolean fullContext) {
22
		return new HunkDiffNode(result, parent, Differencer.CHANGE, getAncestorElement(result, fullContext), getLeftElement(result, fullContext), getRightElement(result, fullContext));
22
		return createDiffNode(parent, result, fullContext, fullContext, fullContext);
23
	}
24
	
25
	public static HunkDiffNode createDiffNode(PatchFileDiffNode parent, HunkResult result, boolean ancestorFullContext, boolean leftFullContext, boolean rightFullContext) {
26
		return new HunkDiffNode(result, parent, Differencer.CHANGE, getAncestorElement(result, ancestorFullContext), getLeftElement(result, leftFullContext), getRightElement(result, rightFullContext));
23
	}
27
	}
24
	
28
	
25
	private static ITypedElement getRightElement(HunkResult result, boolean fullContext) {
29
	private static ITypedElement getRightElement(HunkResult result, boolean fullContext) {
Lines 34-39 Link Here
34
	}
38
	}
35
39
36
	private static ITypedElement getAncestorElement(HunkResult result, boolean fullContext) {
40
	private static ITypedElement getAncestorElement(HunkResult result, boolean fullContext) {
41
		if (!fullContext && result.isOK()) {
42
			return new HunkTypedElement(result, false /* before state */, fullContext);
43
		}
37
		if (!fullContext) {
44
		if (!fullContext) {
38
			// Don't provide an ancestor if the hunk didn't match or we're not doing fullContext
45
			// Don't provide an ancestor if the hunk didn't match or we're not doing fullContext
39
			return null;
46
			return null;
(-)compare/org/eclipse/compare/internal/patch/PatchMessages.properties (+2 lines)
Lines 85-90 Link Here
85
PreviewPatchPage2_RetargetAction=&Move
85
PreviewPatchPage2_RetargetAction=&Move
86
PreviewPatchPage2_RetargetTooltip=Move the selected patch element to another resource
86
PreviewPatchPage2_RetargetTooltip=Move the selected patch element to another resource
87
PreviewPatchPage2_OrphanedHunk=Unmatched Patch Segment
87
PreviewPatchPage2_OrphanedHunk=Unmatched Patch Segment
88
PreviewPatchPage2_MatchedHunk=Matched Hunk
88
PreviewPatchPage2_IgnoreWSAction=Ignore whitespace
89
PreviewPatchPage2_IgnoreWSAction=Ignore whitespace
89
PreviewPatchPage_FuzzFactor_tooltip=Allow this number of context lines to be ignored
90
PreviewPatchPage_FuzzFactor_tooltip=Allow this number of context lines to be ignored
90
PreviewPatchPage_FileExists_error=(file already exists)
91
PreviewPatchPage_FileExists_error=(file already exists)
Lines 98-103 Link Here
98
PreviewPatchPage_GuessFuzz_text= &Guess
99
PreviewPatchPage_GuessFuzz_text= &Guess
99
PreviewPatchPage_GuessFuzzProgress_text= Guessing Fuzz Factor...
100
PreviewPatchPage_GuessFuzzProgress_text= Guessing Fuzz Factor...
100
PreviewPatchPage_GuessFuzzProgress_format= {0} (hunk #{1})
101
PreviewPatchPage_GuessFuzzProgress_format= {0} (hunk #{1})
102
PreviewPatchPage2_ShowMatched=Show &matched hunks
101
PreviewPatchLabelDecorator_ProjectDoesNotExist=(Project does not exist in workspace)
103
PreviewPatchLabelDecorator_ProjectDoesNotExist=(Project does not exist in workspace)
102
104
103
#
105
#
(-)compare/org/eclipse/compare/internal/patch/PatchMessages.java (+2 lines)
Lines 98-106 Link Here
98
	public static String PreviewPatchPage2_IgnoreWSAction;
98
	public static String PreviewPatchPage2_IgnoreWSAction;
99
	public static String PreviewPatchPage2_IgnoreWSTooltip;
99
	public static String PreviewPatchPage2_IgnoreWSTooltip;
100
	public static String PreviewPatchPage2_OrphanedHunk;
100
	public static String PreviewPatchPage2_OrphanedHunk;
101
	public static String PreviewPatchPage2_MatchedHunk;
101
	public static String PreviewPatchPage2_PatchedLocalFile;
102
	public static String PreviewPatchPage2_PatchedLocalFile;
102
	public static String PreviewPatchPage2_RetargetAction;
103
	public static String PreviewPatchPage2_RetargetAction;
103
	public static String PreviewPatchPage2_RetargetTooltip;
104
	public static String PreviewPatchPage2_RetargetTooltip;
105
	public static String PreviewPatchPage2_ShowMatched;
104
	public static String RetargetPatchElementDialog_0;
106
	public static String RetargetPatchElementDialog_0;
105
	public static String RetargetPatchElementDialog_1;
107
	public static String RetargetPatchElementDialog_1;
106
}
108
}
(-)compare/org/eclipse/compare/internal/patch/PatchCompareEditorInput.java (-2 / +18 lines)
Lines 110-115 Link Here
110
	private final WorkspacePatcher patcher;
110
	private final WorkspacePatcher patcher;
111
	private TreeViewer viewer;
111
	private TreeViewer viewer;
112
	private boolean fShowAll;
112
	private boolean fShowAll;
113
	private boolean showMatched = false;
113
	
114
	
114
	/**
115
	/**
115
	 * Creates a new PatchCompareEditorInput and makes use of the passed in CompareConfiguration
116
	 * Creates a new PatchCompareEditorInput and makes use of the passed in CompareConfiguration
Lines 232-237 Link Here
232
						}
233
						}
233
					});
234
					});
234
				}
235
				}
236
			} else if (showMatched) {
237
				HunkDiffNode.createDiffNode(node, hunkResult, false, true, false);
235
			}
238
			}
236
		}
239
		}
237
	}
240
	}
Lines 253-260 Link Here
253
				IStructuredSelection sel= (IStructuredSelection) event.getSelection();
256
				IStructuredSelection sel= (IStructuredSelection) event.getSelection();
254
				Object obj= sel.getFirstElement();
257
				Object obj= sel.getFirstElement();
255
				if (obj instanceof HunkDiffNode) {
258
				if (obj instanceof HunkDiffNode) {
256
					getCompareConfiguration().setLeftLabel(PatchMessages.PreviewPatchPage2_PatchedLocalFile);
259
					if (((HunkDiffNode) obj).getHunkResult().isOK()) {
257
					getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_OrphanedHunk);
260
						getCompareConfiguration().setLeftLabel(PatchMessages.PatcherCompareEditorInput_LocalCopy);
261
						getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_MatchedHunk);
262
					} else {
263
						getCompareConfiguration().setLeftLabel(PatchMessages.PreviewPatchPage2_PatchedLocalFile);
264
						getCompareConfiguration().setRightLabel(PatchMessages.PreviewPatchPage2_OrphanedHunk);
265
					}
258
				} else {
266
				} else {
259
					getCompareConfiguration().setLeftLabel(PatchMessages.PatcherCompareEditorInput_LocalCopy);
267
					getCompareConfiguration().setLeftLabel(PatchMessages.PatcherCompareEditorInput_LocalCopy);
260
					getCompareConfiguration().setRightLabel(PatchMessages.PatcherCompareEditorInput_AfterPatch);
268
					getCompareConfiguration().setRightLabel(PatchMessages.PatcherCompareEditorInput_AfterPatch);
Lines 287-292 Link Here
287
		fShowAll = show;
295
		fShowAll = show;
288
	}
296
	}
289
297
298
	public boolean isShowMatched() {
299
		return showMatched;
300
	}
301
302
	protected void setShowMatched(boolean show) {
303
		showMatched = show;
304
	}
305
290
	public void contributeDiffViewerToolbarItems(Action[] actions, boolean workspacePatch){
306
	public void contributeDiffViewerToolbarItems(Action[] actions, boolean workspacePatch){
291
		ToolBarManager tbm= CompareViewerPane.getToolBarManager(viewer.getControl().getParent());
307
		ToolBarManager tbm= CompareViewerPane.getToolBarManager(viewer.getControl().getParent());
292
		if (tbm != null) {
308
		if (tbm != null) {
(-)compare/org/eclipse/compare/internal/patch/PreviewPatchPage2.java (-6 / +15 lines)
Lines 418-424 Link Here
418
418
419
		// 1st row
419
		// 1st row
420
		createStripSegmentCombo(c);
420
		createStripSegmentCombo(c);
421
		addSpacer(c);
421
		createShowMatchedToggle(c);
422
		createFuzzFactorChooser(c);
422
		createFuzzFactorChooser(c);
423
423
424
		// 2nd row
424
		// 2nd row
Lines 577-587 Link Here
577
		fStripPrefixSegments.setLayoutData(gd);
577
		fStripPrefixSegments.setLayoutData(gd);
578
	}
578
	}
579
	
579
	
580
	private void addSpacer(Composite parent) {
580
	private void createShowMatchedToggle(Composite parent) {
581
		Label label= new Label(parent, SWT.NONE);
581
		final Button showMatched = new Button(parent, SWT.CHECK);
582
		GridData gd= new GridData(GridData.FILL_HORIZONTAL);
582
		showMatched.setText(PatchMessages.PreviewPatchPage2_ShowMatched);
583
		gd.widthHint= 10;
583
		GridData gd = new GridData(GridData.VERTICAL_ALIGN_CENTER
584
		label.setLayoutData(gd);
584
				| GridData.HORIZONTAL_ALIGN_BEGINNING
585
				| GridData.GRAB_HORIZONTAL);
586
		showMatched.addSelectionListener(new SelectionAdapter() {
587
			public void widgetSelected(SelectionEvent e) {
588
				fInput.setShowMatched(showMatched.getSelection());
589
				rebuildTree();
590
			}
591
		});
592
		showMatched.setSelection(fInput.isShowMatched());
593
		showMatched.setLayoutData(gd);
585
	}
594
	}
586
	
595
	
587
	public int getFuzzFactor() {
596
	public int getFuzzFactor() {
(-)compare/org/eclipse/compare/internal/patch/Hunk.java (-1 / +1 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2008 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
(-)compare/org/eclipse/compare/internal/patch/HunkTypedElement.java (-5 / +13 lines)
Lines 37-51 Link Here
37
	 * @see org.eclipse.compare.ITypedElement#getImage()
37
	 * @see org.eclipse.compare.ITypedElement#getImage()
38
	 */
38
	 */
39
	public Image getImage() {
39
	public Image getImage() {
40
		LocalResourceManager imageCache = PatchCompareEditorInput.getImageCache(fHunkResult.getDiffResult().getConfiguration());
41
		ImageDescriptor imageDesc = CompareUIPlugin.getImageDescriptor(ICompareUIConstants.HUNK_OBJ);
42
		Image image = imageCache.createImage(imageDesc);
40
		if (!fHunkResult.isOK()) {
43
		if (!fHunkResult.isOK()) {
41
			LocalResourceManager imageCache = PatchCompareEditorInput.getImageCache(fHunkResult.getDiffResult().getConfiguration());
44
			return getHunkErrorImage(image, imageCache, true);
42
			return getHunkErrorImage(null, imageCache, false);
45
		}
43
		} 
46
		return image;
44
		return null;
45
	}
47
	}
46
48
47
	public static Image getHunkErrorImage(Image baseImage, LocalResourceManager imageCache, boolean onLeft) {
49
	public static Image getHunkErrorImage(Image baseImage, LocalResourceManager imageCache, boolean onLeft) {
48
		ImageDescriptor desc = new DiffImageDescriptor(baseImage, CompareUIPlugin.getImageDescriptor(ICompareUIConstants.ERROR_OVERLAY), ICompareUIConstants.COMPARE_IMAGE_WIDTH, onLeft);
50
		return getHunkOverlayImage(baseImage, imageCache, ICompareUIConstants.ERROR_OVERLAY, onLeft);
51
	}
52
	
53
	private static Image getHunkOverlayImage(Image baseImage, LocalResourceManager imageCache, String path, boolean onLeft) {
54
		ImageDescriptor desc = new DiffImageDescriptor(baseImage, CompareUIPlugin.getImageDescriptor(path), ICompareUIConstants.COMPARE_IMAGE_WIDTH, onLeft);
49
		Image image = imageCache.createImage(desc);
55
		Image image = imageCache.createImage(desc);
50
		return image;
56
		return image;
51
	}
57
	}
Lines 91-96 Link Here
91
	public Object getAdapter(Class adapter) {
97
	public Object getAdapter(Class adapter) {
92
		if (adapter == IHunk.class)
98
		if (adapter == IHunk.class)
93
			return fHunkResult;
99
			return fHunkResult;
100
		if (adapter == HunkResult.class)
101
			return fHunkResult;
94
		return Platform.getAdapterManager().getAdapter(this, adapter);
102
		return Platform.getAdapterManager().getAdapter(this, adapter);
95
	}
103
	}
96
104
(-)compare/org/eclipse/compare/internal/Utilities.java (+20 lines)
Lines 16-21 Link Here
16
16
17
import org.eclipse.compare.*;
17
import org.eclipse.compare.*;
18
import org.eclipse.compare.contentmergeviewer.IDocumentRange;
18
import org.eclipse.compare.contentmergeviewer.IDocumentRange;
19
import org.eclipse.compare.internal.patch.HunkResult;
19
import org.eclipse.compare.patch.IHunk;
20
import org.eclipse.compare.patch.IHunk;
20
import org.eclipse.compare.structuremergeviewer.DiffNode;
21
import org.eclipse.compare.structuremergeviewer.DiffNode;
21
import org.eclipse.compare.structuremergeviewer.ICompareInput;
22
import org.eclipse.compare.structuremergeviewer.ICompareInput;
Lines 739-744 Link Here
739
		return false; 
740
		return false; 
740
	}
741
	}
741
	
742
	
743
	public static boolean isHunkOk(Object input) {
744
		if (input != null && input instanceof DiffNode){
745
			ITypedElement right = ((DiffNode) input).getRight();
746
			if (right != null) {
747
				Object element = Utilities.getAdapter(right, HunkResult.class);
748
				if (element instanceof HunkResult) {
749
					return ((HunkResult)element).isOK();
750
				}
751
			}
752
			ITypedElement left = ((DiffNode) input).getLeft();
753
			if (left != null) {
754
				Object element = Utilities.getAdapter(left, HunkResult.class);
755
				if (element instanceof HunkResult)
756
					return ((HunkResult)element).isOK();
757
			}
758
		}
759
		return false; 
760
	}
761
	
742
	public static void schedule(Job job, IWorkbenchSite site) {
762
	public static void schedule(Job job, IWorkbenchSite site) {
743
		if (site != null) {
763
		if (site != null) {
744
			IWorkbenchSiteProgressService siteProgress = (IWorkbenchSiteProgressService) site.getAdapter(IWorkbenchSiteProgressService.class);
764
			IWorkbenchSiteProgressService siteProgress = (IWorkbenchSiteProgressService) site.getAdapter(IWorkbenchSiteProgressService.class);
(-)compare/org/eclipse/compare/internal/ICompareUIConstants.java (-1 / +3 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2005, 2007 IBM Corporation and others.
2
 * Copyright (c) 2005, 2008 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 22-27 Link Here
22
	public static final String ETOOL_PREV= "elcl16/prev_nav.gif";	//$NON-NLS-1$
22
	public static final String ETOOL_PREV= "elcl16/prev_nav.gif";	//$NON-NLS-1$
23
	public static final String CTOOL_PREV= ETOOL_PREV;
23
	public static final String CTOOL_PREV= ETOOL_PREV;
24
	
24
	
25
	public static final String HUNK_OBJ = "obj16/hunk_obj.gif"; //$NON-NLS-1$
26
25
	public static final String ERROR_OVERLAY= "ovr16/error_ov.gif"; //$NON-NLS-1$
27
	public static final String ERROR_OVERLAY= "ovr16/error_ov.gif"; //$NON-NLS-1$
26
	public static final String IS_MERGED_OVERLAY= "ovr16/merged_ov.gif"; //$NON-NLS-1$
28
	public static final String IS_MERGED_OVERLAY= "ovr16/merged_ov.gif"; //$NON-NLS-1$
27
	public static final String REMOVED_OVERLAY= "ovr16/removed_ov.gif"; //$NON-NLS-1$
29
	public static final String REMOVED_OVERLAY= "ovr16/removed_ov.gif"; //$NON-NLS-1$
(-)compare/org/eclipse/compare/CompareViewerSwitchingPane.java (-3 / +5 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2008 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 132-139 Link Here
132
			if (content != null && !content.isDisposed())
132
			if (content != null && !content.isDisposed())
133
				content.dispose();
133
				content.dispose();
134
134
135
		} else
135
		} else {
136
			oldEmpty= false;			
136
			oldEmpty= false;
137
		}
138
137
		setContent(null);
139
		setContent(null);
138
140
139
		fViewer= newViewer;
141
		fViewer= newViewer;
(-)compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java (-7 / +11 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2007 IBM Corporation and others.
2
 * Copyright (c) 2000, 2008 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 1191-1196 Link Here
1191
			public boolean isThreeWay() {
1191
			public boolean isThreeWay() {
1192
				return TextMergeViewer.this.isThreeWay();
1192
				return TextMergeViewer.this.isThreeWay();
1193
			}
1193
			}
1194
			public boolean isPatchHunkOk() {
1195
				return TextMergeViewer.this.isPatchHunkOk();
1196
			}
1194
			
1197
			
1195
		});
1198
		});
1196
		
1199
		
Lines 2347-2358 Link Here
2347
		
2350
		
2348
		fAncestorContributor.setDocument(fAncestor, false);
2351
		fAncestorContributor.setDocument(fAncestor, false);
2349
		
2352
		
2350
		//if the input is part of a patch hunk, toggle synchronized scrolling
2353
		setSyncScrolling(fPreferenceStore.getBoolean(ComparePreferencePage.SYNCHRONIZE_SCROLLING));
2351
		if (isPatchHunk()){
2352
			setSyncScrolling(false);
2353
		} else {
2354
			setSyncScrolling(fPreferenceStore.getBoolean(ComparePreferencePage.SYNCHRONIZE_SCROLLING));
2355
		}
2356
		
2354
		
2357
		update(false);
2355
		update(false);
2358
		
2356
		
Lines 4442-4447 Link Here
4442
		return Utilities.isHunk(getInput());
4440
		return Utilities.isHunk(getInput());
4443
	}
4441
	}
4444
	
4442
	
4443
	private boolean isPatchHunkOk() {
4444
		if (isPatchHunk())
4445
			return Utilities.isHunkOk(getInput());
4446
		return false;
4447
	}
4448
	
4445
	/**
4449
	/**
4446
	 * Return the provided start position of the hunk in the target file.
4450
	 * Return the provided start position of the hunk in the target file.
4447
	 * @return the provided start position of the hunk in the target file
4451
	 * @return the provided start position of the hunk in the target file

Return to bug 217070