Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
SVN compare exception with *.erl files comparison #307
I saw previous reports of this exception, but I have tried many combinations of eclipse, erlang otp versions, subclipse/subversive and erlide and all have given the same problem.
Basically it already happens when browsing a repo from the "SVN Repository Exploring" Perspective and comparing two versions of a file in the "History" View.
I click on the file, and then select the two revisions to compare in the "History" view, then right click them and select "Compare...".
I was able to replicate the problem against a project I created for this purpose on sourceforce. If anyone can help, let me know, if you have a sourceforge user (or sign up to sourceforge) you can tell me your user name and I will give you and give you access to the sourceforge SVN repo in order to replicate.
My current setup is:
The exception I get is:
!ENTRY org.eclipse.ui 4 0 2017-08-30 10:20:35.692
Yes, this is a problem that happens once in a while, but I could not reproduce it and people didn't press me enough to get it properly investigated. One of those cases of "it works for me"...
My sourceforge user is 'vladdu' (it looks like I can't create project with a local svn repo only)
The URL you need to enter should be:
When subclipse asks you for Authentication just leave "Use password authentication" checked and enter your sourceforge password in the Password field.
That should be it.
Ok, thanks. I can reproduce the problem now (after fighting the svn plugins). It looks a bit difficult to debug because the exception occurs in generic eclipse code, so something goes wrong somewhere else, before that; the question being "where?".
Since the comparison works for git (and I think I got confirmation a long time ago for hg), it may be somehow a problem with the svn plugin: more exactly, maybe the APIs allow some choices to be made and svn did a different one than git. Just a guess.
Comparing the local copy to the latest from repository seems to work, I can get the exception only when comparing two revisions.
Yes indeed, I am getting the same behaviour.
By change I happend to double click on one of the revisions and another strange behaviour cropped up. Not sure if it is related or not.
(I tried opening the other revisions and got the same error)
Do you think it might be related?
Just in case, here's the complete stack trace (copied from the eclipse windows which is the same as entry in eclipse-workspace/.metadata/.log):
EDIT: just realized that the first two lines in this exception are logging from erlide classes. Not sure if this helps any, or if this is something else totally unrelated that is happening (added bold markup to first two lines in log).
Regarding this, in my local svn I also get the same exception when trying to compare my local revision to a new incoming change that another person committed when usind the synchronize view. This seems to always fail. But since the exception is the same I am not sure if trying to replicate the situation with the sourceforge repo is worth it.
I found the problem, the code assumed that the file is part of a project (and when opened like that, it isn't). It doesn't look related to the other problem.
I tried to debug, but can't really understand what is happening. The line that has a problem is #19,
The only clue is that the lexical scanner on one of the versions splits that string between the ~ and the p, and gets confused afterwards.
Could it be some encoding issue? Can you please check with a hex editor versions 3 and 4 of the file? I'll try to install svn myself.
Edit: Hmm, I can't see any difference, it's all ascii. I have no idea what is causing this. For svn diffs, it looks like it's between versions commited by different persons (like you noticed too) [The first version is special]
added a commit
Sep 3, 2017
This was referenced
Sep 4, 2017
Wow awesome Vlad.
I'm looking into one more case which is still not working, but for which I just found a workaround. (I thought it was the same issue, but it seems it's not). Unfortunately I have not been able to reproduce it in the sourceforge svn repo. What I will now explain seems to work fine with the sourceforge svn.
(Later, when I have some time I will try again if I can replicate in the sourceforge svn repo)
So, basically, when I have a conflict in the Synchronize Perspective from a file that was commited with a change by another user and also changed by me, when I double click on it will give the exception shown further below.
But, I have a workaround, which is:
Exception that happens when double clicking a file with conflict:
!ENTRY org.eclipse.ui 4 0 2017-09-04 12:08:52.225
The exception doesn't really have anything special to do with svn. It's the compare editor and the fact that the two panes used to have some shared data, making it in some cases to crash and in others the syntax highlighting is wrong. It depends on which content is right and which one is left.
I think it's the same kind of issue for this other one. Please let me know if you can reproduce it.
I have almost the same issue when comparing in synchronize view of git