1. 23 Nov, 2017 1 commit
    • Friedrich W. H. Kossebau's avatar
      Drop unfinished support for binary & before/after diffs from VcsDiff · 36fd6bf0
      Friedrich W. H. Kossebau authored
      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
      5ffc3c23 and 7b09fc2f
      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.
      
      Reviewers: #kdevelop, apol
      
      Reviewed By: #kdevelop, apol
      
      Subscribers: kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8962
      36fd6bf0
  2. 03 Nov, 2017 1 commit
    • Friedrich W. H. Kossebau's avatar
      Make VCS data container classes implicitly shared · 2965dae1
      Friedrich W. H. Kossebau authored
      Summary:
      Also
      * rely on default implementation of copy constructor to copy all data
        on forking the internal data objects
      * mark as movable types for improved handling in Qt containers
      
      Object of these classes are created in one place and then passed around
      for read-only consumption. They are passed by value in method return
      arguments and stored by value. As the classes already have a private
      object for pimpl, making this an implicitly shared one is a small step.
      
      Reviewers: #kdevelop, apol, mwolff
      
      Reviewed By: #kdevelop, apol, mwolff
      
      Subscribers: apol, mwolff, brauch, kdevelop-devel
      
      Differential Revision: https://phabricator.kde.org/D8588
      2965dae1
  3. 01 Nov, 2017 1 commit