<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/113584/">http://git.reviewboard.kde.org/r/113584/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 4th, 2013, 12:42 a.m. UTC, <b>Aleix Pol Gonzalez</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/113584/diff/3/?file=208933#file208933line176" style="color: black; font-weight: bold; text-decoration: underline;">shell/textdocument.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">struct TextDocumentPrivate {</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">176</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="c1">// In some cases, the VCS (e.g. git) can know whether the old contents are "valuable", i.e.</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I would say that if the file is deleted and the user didn't edit it, then the file can just go, or at least it should stay in some kind of read only mode that is apparent to the user that the file is gone, and not by using a message box.

I think that trying to go through the VCS is trying to play too smart.</pre>
 </blockquote>



 <p>On November 4th, 2013, 1 a.m. UTC, <b>Sven Brauch</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmm, I'm not sure I understand that. Accidentially deleting a file is actually one of the common cases for data loss.

Replacing the message box by a passive popup is probably a good idea, but pretty much unrelated to this, no? If the file was removed but the old version is in the VCS, we close the file, if it's not there then we somehow keep it to offer the user the possibility to recover it.</pre>
 </blockquote>





 <p>On November 4th, 2013, 1:49 a.m. UTC, <b>Aleix Pol Gonzalez</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We've discussed that on hte mailing list before. I don't think we have to consider the KatePart as a way to keep what we had on the system. If changes were not saved, then it totally makes sense to keep it, but if that's not the case, I would just close the tabs.

My concern is that I don't think we want to have something too complex that our users won't be able to understand and predict.</pre>
 </blockquote>





 <p>On November 5th, 2013, 12:41 a.m. UTC, <b>Sven Brauch</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just putting here what I said yesterday in IRC: Users rely on the pattern "If I have a document open in the editor, I can't lose its contents". I've seen and read that many times, and it makes sense. I do not want to break this pattern, so I consider closing files deleted from disk a bad idea. This solution, although a bit more complex, doesn't break this pattern and still brings most of the benefits of breaking it.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'll withdraw my complaint. It's probably not what I would do, but it makes sense and has this magic touch that defines us ;).</pre>
<br />




<p>- Aleix</p>


<br />
<p>On November 3rd, 2013, 9:52 p.m. UTC, Sven Brauch wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop, Aleix Pol Gonzalez and Milian Wolff.</div>
<div>By Sven Brauch.</div>


<p style="color: grey;"><i>Updated Nov. 3, 2013, 9:52 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevplatform
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>plugins/git/gitplugin.h <span style="color: grey">(2f60c24b9d223a815eda6627d1328ce2404e11af)</span></li>

 <li>plugins/git/gitplugin.cpp <span style="color: grey">(27f4eaeea46afdfccb88d64caf161cc84a1e5bad)</span></li>

 <li>shell/textdocument.h <span style="color: grey">(8bb29fea8395d4cac956778fae85a4a9f57c2cce)</span></li>

 <li>shell/textdocument.cpp <span style="color: grey">(187a071d78c3e2d00092bb2adde533486be11eee)</span></li>

 <li>vcs/interfaces/icontentawareversioncontrol.h <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/113584/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>