<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 6th, 2013, 10:44 a.m. UTC, <b>Milian Wolff</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/6/?file=210199#file210199line1429" style="color: black; font-weight: bold; text-decoration: underline;">plugins/git/gitplugin.cpp</a>
<span style="font-weight: normal;">
(Diff revision 6)
</span>
</th>
</tr>
</thead>
<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">1429</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">findjob</span> <span class="o">=</span> <span class="k">new</span> <span class="n">QProcess</span><span class="p">(</span><span class="k">this</span><span class="p">);</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;">these processes will then "leak" until kdevelop is closed, that's not going to work. delete them when they finished (but ensure they are also deleted when they failed)</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;">No, they are parented to the job. When the job finishes they die.
I added a failed() connection to make sure the job finishes when e.g. git doesn't exist.</pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On November 6th, 2013, 10:44 a.m. UTC, <b>Milian Wolff</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/6/?file=210199#file210199line1445" style="color: black; font-weight: bold; text-decoration: underline;">plugins/git/gitplugin.cpp</a>
<span style="font-weight: normal;">
(Diff revision 6)
</span>
</th>
</tr>
</thead>
<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">1445</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">QByteArray</span> <span class="n">output</span> <span class="o">=</span> <span class="n">hashjob</span><span class="o">-></span><span class="n">readAllStandardOutput</span><span class="p">();</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;">this looks really bad, you want setStandardOutputProcess no?</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;">If you can make that work... I tried for ages yesterday and it wouldn't. Somehow the write channel isn't closed when the first process exits.</pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On November 6th, 2013, 10:44 a.m. UTC, <b>Milian Wolff</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/6/?file=210199#file210199line1452" style="color: black; font-weight: bold; text-decoration: underline;">plugins/git/gitplugin.cpp</a>
<span style="font-weight: normal;">
(Diff revision 6)
</span>
</th>
</tr>
</thead>
<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">1452</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">const</span> <span class="n">QByteArray</span> <span class="n">output</span> <span class="o">=</span> <span class="n">findjob</span><span class="o">-></span><span class="n">readAllStandardOutput</span><span class="p">();</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;">read line-bye-line and check for the contains</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;">What's the point? There will always be exactly one line. It will just make the code ugly.</pre>
<br />
<p>- Sven</p>
<br />
<p>On November 6th, 2013, 11:39 a.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. 6, 2013, 11:39 a.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/executescript/executescriptplugin.h <span style="color: grey">(12e654f744ad5df2f43fcf8150674c8adb8ced5c)</span></li>
<li>plugins/executescript/executescriptplugin.cpp <span style="color: grey">(8eb1b698cadcf43acf50dcb7e101eec922fdd9ee)</span></li>
<li>plugins/executescript/iexecutescriptplugin.h <span style="color: grey">(e3b9a7c703f1bd67c042d0fe498836f5d0e9ebff)</span></li>
<li>plugins/executescript/scriptappconfig.cpp <span style="color: grey">(b8f0729fda70085fc2c40300ec71e512c2d0a3ea)</span></li>
<li>plugins/executescript/scriptappconfig.ui <span style="color: grey">(6fc5f761c4019c2419fa627360fe1b3b3147c46f)</span></li>
<li>plugins/executescript/scriptappjob.cpp <span style="color: grey">(4b2521778207e702fc00a5010f610bac36d463ba)</span></li>
<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/CMakeLists.txt <span style="color: grey">(c6854ed895e4284e4b3d355b0b549ef74a8f84de)</span></li>
<li>vcs/interfaces/icontentawareversioncontrol.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>vcs/interfaces/icontentawareversioncontrol.cpp <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>