D8962: Drop unfinished support for binary & before/after diffs from VcsDiff

Friedrich W. H. Kossebau noreply at phabricator.kde.org
Thu Nov 23 10:42:17 UTC 2017


kossebau created this revision.
kossebau added a reviewer: KDevelop.
Restricted Application added a subscriber: kdevelop-devel.

REVISION SUMMARY
  VcsDiff and IBasicVersionControl::diff(...) many years ago got initial
  support for requesting and storing raw copies of files changed in a
  revision.
  
  Nothing in KDevelop though makes use of that feature, and all the VCS
  plugins themselves do not support it either, even ignore explicit requests.
  
  To ease maintainance of the used and working code for creating unified
  text diffs, this patch drops the dead code for that unfinished feature.
  When someone ever starts working on it again, the needed structures
  in VcsDiff can be easily readded and also done matching whatever approach
  is taken then.
  
  After the initial support was introduced in 2007 by e.g. commits
  5ffc3c23ce237c34669964bd61fae48922ea0816 and 7b09fc2f0abae379f370a05db0aa0d57c58e53bb
  no further related work was ever commited to the codebase.
  
  SvnDiffJob even has initial code for fetching full before-versions of
  the affected files. But this seems premature test code which accidentally
  got committed, as the full copies are always fetched and stored
  additionally to the unified diff, and without respecting the diff type
  parameter passed to the method. Also were the after-versions not stored,
  and no other code also has ever been fetching those full copies
  from the returned VcsDiff object.
  
  Worse, most other VCS plugins simply ignored the diff type parameter passed
  to the IBasicVersionControl::diff(...) method, and always returned a
  unified diff, rendering the type parameter useless.

REPOSITORY
  R32 KDevelop

BRANCH
  dropUnfinishedNonUnifiedDiffSupport

REVISION DETAIL
  https://phabricator.kde.org/D8962

AFFECTED FILES
  kdevplatform/shell/projectsourcepage.cpp
  kdevplatform/vcs/interfaces/ibasicversioncontrol.h
  kdevplatform/vcs/tests/test_vcsdiff.cpp
  kdevplatform/vcs/tests/test_vcsdiff.h
  kdevplatform/vcs/vcsdiff.cpp
  kdevplatform/vcs/vcsdiff.h
  kdevplatform/vcs/vcspluginhelper.cpp
  kdevplatform/vcs/widgets/vcsdiffwidget.cpp
  plugins/appwizard/projectvcspage.cpp
  plugins/bazaar/bazaarplugin.cpp
  plugins/bazaar/bazaarplugin.h
  plugins/cvs/cvsdiffjob.cpp
  plugins/cvs/cvsplugin.cpp
  plugins/cvs/cvsplugin.h
  plugins/ghprovider/ghproviderwidget.cpp
  plugins/git/gitplugin.cpp
  plugins/git/gitplugin.h
  plugins/git/tests/test_git.cpp
  plugins/kdeprovider/kdeproviderwidget.cpp
  plugins/perforce/perforceplugin.cpp
  plugins/perforce/perforceplugin.h
  plugins/perforce/tests/test_perforce.cpp
  plugins/subversion/kdevsvnplugin.cpp
  plugins/subversion/kdevsvnplugin.h
  plugins/subversion/svndiffjob.cpp
  plugins/subversion/svndiffjob.h
  plugins/subversion/tests/test_svnimport.cpp
  plugins/subversion/tests/test_svnrecursiveadd.cpp

To: kossebau, #kdevelop
Cc: kdevelop-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20171123/c0a38c5a/attachment-0001.html>


More information about the KDevelop-devel mailing list