shokurov / svnx

Automatically exported from code.google.com/p/svnx
0 stars 0 forks source link

Review window freezes while entering commit message #101

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
My copy of SVN X froze several times while I tried to enter a commit message in 
the applications "review window". The app started to hang and I must kill it 
through the Mac Os X process manager.

I attached the OS' bug report.

Original issue reported on code.google.com by vlabmi...@gmail.com on 17 Jun 2010 at 9:20

Attachments:

GoogleCodeExporter commented 8 years ago
From your log it appears that svnX is trying to display a file's diffs.
Depending on the changes in the file & the machine this can take some time 
especially
when the "Highlight Characters" option is checked in the diff pane settings 
menu.
However, in my experience it always completes.

Currently I have insufficient information to determine whether this is a 
problem with svnX or not.
SvnX creates files with names like 'svnx-review-XXXXXXX.html' in /tmp that are 
used to display the diffs.
Can you send a copy of the file with the latest modification date (following a 
hang).
[You can send it directly to me if you prefer.]
Does the file display correctly if you open it in Safari?
Have you upgraded to one of the new Safaris (released this week)?
Which version of Safari are you using?

Original comment by chris...@gmail.com on 17 Jun 2010 at 3:21

GoogleCodeExporter commented 8 years ago
Yes, I upgraded to Safari 5.0 (5533.16) these days...
It can't open the *.html files as it always triggers an error relying to a 
"long execution time of a script". Sorry, that I don't have the right 
description on this as I use the localized german version.

I attached on of the HTMLs to this comment.

Regards,

Michl

Original comment by vlabmi...@gmail.com on 17 Jun 2010 at 3:54

Attachments:

GoogleCodeExporter commented 8 years ago
I just tried the file you sent with Safari 4.0.2 (PPC & Intel) & 5.0 (Intel).
It works fine, though it takes a long time (~350-380 secs).  [Select Develop > 
Disable Runaway JavaScript Timer.]
This is not surprising as it contains > 90 thousand lines of diffs!

I can't directly try your file in svnX, but if it works in Safari it WILL work 
in svnX.
If you uncheck the "Highlight Characters" option before you select the file it 
displays in ~20 secs.
Alternatively go & make yourself a strong cup of tea.  It should be done by the 
time you get back :-).

I have been pondering rewriting the diff display in C++ for some time.  (It's 
currently written in JavaScript.)
But it's a large amount of work and it's difficult to predict if it will be 
much faster/better, or if it's worth it.

Original comment by chris...@gmail.com on 17 Jun 2010 at 5:36

GoogleCodeExporter commented 8 years ago
Ok, as I follow your thoughts it sounds quite capable that this is the problem.
Additionally I expected sth. similar, as I commit most of the time complex 
XML-formatted OmniGraffle docs, the "misbehaviour" changes from file to file 
and relies directly to the filesize as it represents more or less the actual 
line count that is diffed by SVNX.

So, I think you're right. :)

Before porting your code to C++ a nice "workaround" would be add sth. like the 
"Safari timeout alert" with a message that says "I'm not hanging it's just lots 
of work in progress...Quit?" to give the user the opportunity cancel the diff.

Probably that would be easier to implement.

By the way: I like and use your app a lot!

- Michl

Original comment by vlabmi...@gmail.com on 18 Jun 2010 at 7:19

GoogleCodeExporter commented 8 years ago
Added support in 1.3b1 for adjusting the maximum amount of time spent 
calculating each group of character diffs.
This defaults to medium, which is 100 ms.  Previously it was 1 sec.
[Fast = 10 ms & Fastest = 1 ms.]

[As loading an HTML document in WebKit blocks the main thread & the 'Runaway 
JavaScript Timer' is a feature of Safari (not WebKit), this will have to do for 
now.]

Original comment by chris...@gmail.com on 16 Sep 2010 at 12:28