Review Request 113584: Ask git if it is safe to reload a document

Sven Brauch svenbrauch at googlemail.com
Wed Nov 6 11:39:55 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113584/
-----------------------------------------------------------

(Updated Nov. 6, 2013, 11:39 a.m.)


Review request for KDevelop, Aleix Pol Gonzalez and Milian Wolff.


Changes
-------

updated patch resolving most of milians complaints


Repository: kdevplatform


Description
-------

When a file is changed on disk, we can look in the git object repository
and see whether the contents currently in the editor are stored somewhere
there. In that case, there is no risk of data loss when we just silently
reload the document; the user can always retrieve the old version from
git.

For this purpose I added a new VCS interface which version control plugins
can choose to implement if they are able and willing to provide this
functionality. If a plugin does not implement the interface, the old
behaviour is unaffected.

I implemented the interface for the git plugin and it seems to be working fine.
There's two issues we might want to talk about:
 - We can not retrieve the line ending mode from kate. Thus, currently it will
   only work for files with \n line endings (old behaviour is used instead for
   different line endings).
 - It's not blazingly fast. It's not exactly slow, but if you have like 35
   documents open, the freeze on switching to a completely different branch
   is noticeable. Test it yourself and give your opinion on whether this
   is acceptable or not.


Diffs (updated)
-----

  plugins/executescript/executescriptplugin.h 12e654f744ad5df2f43fcf8150674c8adb8ced5c 
  plugins/executescript/executescriptplugin.cpp 8eb1b698cadcf43acf50dcb7e101eec922fdd9ee 
  plugins/executescript/iexecutescriptplugin.h e3b9a7c703f1bd67c042d0fe498836f5d0e9ebff 
  plugins/executescript/scriptappconfig.cpp b8f0729fda70085fc2c40300ec71e512c2d0a3ea 
  plugins/executescript/scriptappconfig.ui 6fc5f761c4019c2419fa627360fe1b3b3147c46f 
  plugins/executescript/scriptappjob.cpp 4b2521778207e702fc00a5010f610bac36d463ba 
  plugins/git/gitplugin.h 2f60c24b9d223a815eda6627d1328ce2404e11af 
  plugins/git/gitplugin.cpp 27f4eaeea46afdfccb88d64caf161cc84a1e5bad 
  shell/textdocument.h 8bb29fea8395d4cac956778fae85a4a9f57c2cce 
  shell/textdocument.cpp 187a071d78c3e2d00092bb2adde533486be11eee 
  vcs/CMakeLists.txt c6854ed895e4284e4b3d355b0b549ef74a8f84de 
  vcs/interfaces/icontentawareversioncontrol.h PRE-CREATION 
  vcs/interfaces/icontentawareversioncontrol.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/113584/diff/


Testing
-------


Thanks,

Sven Brauch

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20131106/bbf04506/attachment.html>


More information about the KDevelop-devel mailing list