<table><tr><td style="">kossebau created this revision.<br />kossebau added a reviewer: KDevelop.<br />Restricted Application added a subscriber: kdevelop-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8962" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>VcsDiff and IBasicVersionControl::diff(...) many years ago got initial<br />
support for requesting and storing raw copies of files changed in a<br />
revision.</p>

<p>Nothing in KDevelop though makes use of that feature, and all the VCS<br />
plugins themselves do not support it either, even ignore explicit requests.</p>

<p>To ease maintainance of the used and working code for creating unified<br />
text diffs, this patch drops the dead code for that unfinished feature.<br />
When someone ever starts working on it again, the needed structures<br />
in VcsDiff can be easily readded and also done matching whatever approach<br />
is taken then.</p>

<p>After the initial support was introduced in 2007 by e.g. commits<br />
5ffc3c23ce237c34669964bd61fae48922ea0816 and 7b09fc2f0abae379f370a05db0aa0d57c58e53bb<br />
no further related work was ever commited to the codebase.</p>

<p>SvnDiffJob even has initial code for fetching full before-versions of<br />
the affected files. But this seems premature test code which accidentally<br />
got committed, as the full copies are always fetched and stored<br />
additionally to the unified diff, and without respecting the diff type<br />
parameter passed to the method. Also were the after-versions not stored,<br />
and no other code also has ever been fetching those full copies<br />
from the returned VcsDiff object.</p>

<p>Worse, most other VCS plugins simply ignored the diff type parameter passed<br />
to the IBasicVersionControl::diff(...) method, and always returned a<br />
unified diff, rendering the type parameter useless.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>BRANCH</strong><div><div>dropUnfinishedNonUnifiedDiffSupport</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8962" rel="noreferrer">https://phabricator.kde.org/D8962</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kdevplatform/shell/projectsourcepage.cpp<br />
kdevplatform/vcs/interfaces/ibasicversioncontrol.h<br />
kdevplatform/vcs/tests/test_vcsdiff.cpp<br />
kdevplatform/vcs/tests/test_vcsdiff.h<br />
kdevplatform/vcs/vcsdiff.cpp<br />
kdevplatform/vcs/vcsdiff.h<br />
kdevplatform/vcs/vcspluginhelper.cpp<br />
kdevplatform/vcs/widgets/vcsdiffwidget.cpp<br />
plugins/appwizard/projectvcspage.cpp<br />
plugins/bazaar/bazaarplugin.cpp<br />
plugins/bazaar/bazaarplugin.h<br />
plugins/cvs/cvsdiffjob.cpp<br />
plugins/cvs/cvsplugin.cpp<br />
plugins/cvs/cvsplugin.h<br />
plugins/ghprovider/ghproviderwidget.cpp<br />
plugins/git/gitplugin.cpp<br />
plugins/git/gitplugin.h<br />
plugins/git/tests/test_git.cpp<br />
plugins/kdeprovider/kdeproviderwidget.cpp<br />
plugins/perforce/perforceplugin.cpp<br />
plugins/perforce/perforceplugin.h<br />
plugins/perforce/tests/test_perforce.cpp<br />
plugins/subversion/kdevsvnplugin.cpp<br />
plugins/subversion/kdevsvnplugin.h<br />
plugins/subversion/svndiffjob.cpp<br />
plugins/subversion/svndiffjob.h<br />
plugins/subversion/tests/test_svnimport.cpp<br />
plugins/subversion/tests/test_svnrecursiveadd.cpp</div></div></div><br /><div><strong>To: </strong>kossebau, KDevelop<br /><strong>Cc: </strong>kdevelop-devel<br /></div>