Fix SVN history fetching and clean up plugin
ClosedPublic

Authored by croick on Jan 18 2018, 12:29 AM.

Details

Summary
  • fetching the history of an svn project only worked sometimes
  • trying to show a diff between versions lead to a crash
  • displaying a diff from the annotation border lead to a crash
  • remove UI files which are not used
  • remove unused svncatjob and svncheckoutmetadatawidget
Test Plan
  • display history/log from vcs context menu entry
  • display diff from history list
  • display diff from annotation border
  • fetch svn project using the assistant
  • commit changes of an svn project

Diff Detail

Repository
R32 KDevelop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
croick created this revision.Jan 18 2018, 12:29 AM
Restricted Application added a subscriber: kdevelop-devel. · View Herald TranscriptJan 18 2018, 12:29 AM
croick requested review of this revision.Jan 18 2018, 12:29 AM

It might have been better to split the changes.
On the other hand it seems nobody likes to spend much time on that plugin, so maybe doing it in one go is ok?

plugins/subversion/svndiffjob.cpp
342

This one is called automatically and resulted in crashes.

plugins/subversion/svnlogjob.cpp
117

Using a queued connection here, makes the notification for new log entries come too late.

mwolff accepted this revision.Jan 18 2018, 10:09 AM
mwolff added a subscriber: mwolff.

I'm OK with this, but please split this up the next time. You could still have posted it as one review request, but splitting it up is always a good idea. It's a general coding mantra that you should start following, as it makes your life much easier in the long term.

plugins/subversion/svnjobbase.cpp
162

not leaked when canceled? probably done from somewhere else?

This revision is now accepted and ready to land.Jan 18 2018, 10:09 AM

I'm OK with this, but please split this up the next time. You could still have posted it as one review request, but splitting it up is always a good idea. It's a general coding mantra that you should start following, as it makes your life much easier in the long term.

Theoretically I'm aware of that and try to further improve concerning that matter... Thanks for the review.

plugins/subversion/svnjobbase.cpp
162

The docs (and the code of KJob) say, that emitResult() calls deleteLater() by default, not depending on the status.

This revision was automatically updated to reflect the committed changes.