Bug 10434 - Compare browser fails silently and does not give result
Summary: Compare browser fails silently and does not give result
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Compare (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P1 critical (vote)
Target Milestone: 2.0 M5   Edit
Assignee: Andre Weinand CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-02-27 16:11 EST by Veronika Irvine CLA
Modified: 2002-04-09 11:18 EDT (History)
0 users

See Also:


Attachments
patch affecting several swt classes (14.35 KB, patch)
2002-02-27 16:12 EST, Veronika Irvine CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Veronika Irvine CLA 2002-02-27 16:11:56 EST
Eclipse 20020214-S and 20020226-I
Windows 2000 and Linux motif RedHat 7.2

This bug makes it nearly impossible for me to check and submit any code 
developed by our new hire.

1) load SWT from the cvs repository.
2) Copy .classpath_win32 to .classpath and build SWT
3) In the packages view, select "Compare with... Patch" from the custom menu.
4) Select the patch file I have attached.
5) The dialog appears and everything looks good.  Hit next and all the tree 
items are check off.  So far so good.
6) Click on the finish button.

Nothing happens.  An error is silently sent to .log and the compare editor 
never appears.


Log: Wed Feb 27 16:02:27 EST 2002
4 org.eclipse.compare 1 !JavaPlugin.internal_error!
org.eclipse.core.internal.resources.ResourceException: 
Resource /org.eclipse.swt/org/eclipse/swt/widgets does not exist.
	at org.eclipse.core.internal.resources.Resource.checkExists
(Resource.java(Compiled Code))
	at org.eclipse.core.internal.resources.Resource.checkAccessible
(Resource.java(Compiled Code))
	at org.eclipse.core.internal.resources.File.create(File.java(Compiled 
Code))
	at org.eclipse.compare.internal.patch.Patcher.store(Patcher.java:894)
	at org.eclipse.compare.internal.patch.Patcher.applyAll(Patcher.java:787)
	at org.eclipse.compare.internal.patch.PatchWizard$1.run
(PatchWizard.java:123)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:98)
	4 org.eclipse.core.resources 368 
Resource /org.eclipse.swt/org/eclipse/swt/widgets does not exist.
Comment 1 Veronika Irvine CLA 2002-02-27 16:12:49 EST
Created attachment 406 [details]
patch affecting several swt classes
Comment 2 Veronika Irvine CLA 2002-03-06 09:34:35 EST
I haven't seen any action on this bug report and it seriously impedes our 
ability to submit code changes from our coop and newhire.  Is there any chance 
it will be fixed soon?  Right now we can not use the patch tool at all and have 
to send entire files to each other - I would prefer to help test this feature.
Comment 3 Andre Weinand CLA 2002-04-09 11:18:09 EDT
fixed for M5.

Veronika,
you mentioned in your comment
'...all the tree items are check off.  So far so good....'

Actually, if all the tree items are checked off that is not so good :-)

Here is what you should do:

the overall goal is to get a minimal number of red errors (and a 
corresponding maximal number of checked checkboxes) by adjusting
the following options:

 - try the ignore whitespace option first since most of our old files in the
   repository were checked in as binary, our patch files (generated by CVS)
   have illegal line separators (a PR exists)
   (If you open one of these patch files in our editors you'll see
   lots of empty lines. These lines typically don't match what you
   have in your workspace. Be careful, other editors cannot deal with
   these illegal line separators and the patch file looks fine).

 - if the ignore whitespace option does not reduce the number of errors
   try to increase the 'fuzz' factor (patch terminology). Normally if patch
   cannot find a match at a given line number it tries to apply the patch
   in the range starting 2 lines before and ending 2 lines after the line.
   However, if the file has been changed in a way that the original lines
   have moved more than 2 lines you have to increase the size of this range
   by adjusting the fuzz factor.

 - if this doesn't help
   may be the patch has been generated in a directory whose name doesn't
   match the directory name in your workpace. Try the 'ignore leading path
   name segments' to strip off one or more the leading directory names.

 - if this doesn't help either
   then may be the patch is a reversed patch. Click the 'Reverse patch' option.

If you cannot get rid of all the errors either backout from applying the patch 
(and send me the patch file if you think there's an error in the patch 
functionality) or apply the patch anyway. For every non-match a .rej is created,
and you have to deal with them manually. This is normal patch semantic.

Hope this clarifies 'patch' somewhat..