Review Request 113584: Ask git if it is safe to reload a document
Sven Brauch
svenbrauch at googlemail.com
Sat Nov 2 18:34:23 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113584/
-----------------------------------------------------------
Review request for KDevelop, Aleix Pol Gonzalez and Milian Wolff.
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
-----
outputview/outputjob.h 83e9c1dec4f6ce9608ad330d5243e1991eda0cf7
plugins/git/gitplugin.h 2f60c24b9d223a815eda6627d1328ce2404e11af
plugins/git/gitplugin.cpp 27f4eaeea46afdfccb88d64caf161cc84a1e5bad
shell/textdocument.cpp 187a071d78c3e2d00092bb2adde533486be11eee
vcs/interfaces/icontentawareversioncontrol.h 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/20131102/3eb572e5/attachment.html>
More information about the KDevelop-devel
mailing list