<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="https://git.reviewboard.kde.org/r/117379/">https://git.reviewboard.kde.org/r/117379/</a>
     </td>
    </tr>
   </table>
   <br />











<div>




<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="https://git.reviewboard.kde.org/r/117379/diff/1/?file=262912#file262912line412" style="color: black; font-weight: bold; text-decoration: underline;">mercurialplugin.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </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; ">VcsJob* MercurialPlugin::resolve(const KUrl::List& files, KDevelop::IBasicVersionControl::RecursionMode recursion)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">409</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">callExtension</span><span class="p">(</span><span class="o">*</span><span class="n">job</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"resolveandstatus"</span> <span class="o"><<</span> <span class="s">"--"</span> <span class="o"><<</span> <span class="n">locations</span><span class="p">;</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">397</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">callExtension</span><span class="p">(</span><span class="o">*</span><span class="n">job</span><span class="p">)</span> <span class="o"><<</span> <span class="s">"resolveandstatus"</span> <span class="o"><<</span> <span class="s">"--"</span> <span class="o"><<</span> <span class="n">locations</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">For some unknown reason DVcsJob->exec() or something around this place trashes memory when "hg" is launched. Basically if you run MercurialPlugin::status or any other (like MercurialPlugin::commit) several times then can see that something is overwriting some parts of memory as program doesn't exit cleanly but with segfault. Atleast I noticed this for unit test app. It might be either DVcsJob bug or hg bug, because if I changed job to any other executable (eg. git) it worked fine.</pre>
</div>
<br />



<p>- Dāvis Mosāns</p>


<br />
<p>On April 5th, 2014, 6:09 a.m. EEST, Dāvis Mosāns wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://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.</div>
<div>By Dāvis Mosāns.</div>


<p style="color: grey;"><i>Updated April 5, 2014, 6:09 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdev-mercurial
</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;">Various fixes for mercurial support. Basically updated so it can be built against latest kdevplatform. Also fixed tests so they pass.


Changes:

1. Updated formatting

  * Remove trailing whitespace
  * Replace tabs with spaces
  * Reformat code so it's properly indented

2. Removed DVCS view factory

  * Kdevplatform change commit 41db303595d55d355a80d896a25543f449819d30

3. Changed MercurialHeadsModel constructor to match VcsEventsWidget

  * Kdevplatform change commit a6d910861906365f0ef11b99badbbde01e6f3c7b

4. Fixed some memory leaks

5. Fixed tests

6. Other changes

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


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">All tests pass, but they don't cover all functionality.

Manually verified that adding files, commits does work. Also commit history viewing works fine. Didn't tried remotes nor branches. They might not or might work in some cases.


I consider this in Alpha quality so basically it can be used to play a bit, but would require more work to be finished.</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>CMakeLists.txt <span style="color: grey">(c4f91a394215c8401579af38feba4982bed055dc)</span></li>

 <li>cmake/FindKDevPlatform.cmake <span style="color: grey">(1a771c52510cb3e71c19b8a1c84680b6a3c64d08)</span></li>

 <li>kdevmercurial.desktop <span style="color: grey">(ed56b3554686501ac19dabd230f4a01456bc4a2c)</span></li>

 <li>mercurialplugin.h <span style="color: grey">(11c3cf203f5a52b6548f4919f5518dd22581d3b5)</span></li>

 <li>mercurialplugin.cpp <span style="color: grey">(59198e8b1e3f90c61373f05595eeebba8408de52)</span></li>

 <li>mercurialpushjob.h <span style="color: grey">(818043f457ad68aa4f8c87a1595de2e60ecf3711)</span></li>

 <li>mercurialpushjob.cpp <span style="color: grey">(0cb79768870d4e0233be5f875a49cd439919aa76)</span></li>

 <li>models/mercurialheadsmodel.h <span style="color: grey">(8e2ed09dbac64d03af68d936365adbbea41a58a9)</span></li>

 <li>models/mercurialheadsmodel.cpp <span style="color: grey">(41e6c7bbfcabc437932faf8d48cf73e831d03080)</span></li>

 <li>models/mercurialqueueseriesmodel.h <span style="color: grey">(bd49e5becec5e9c9ce0b420655e0ea48926864f1)</span></li>

 <li>models/mercurialqueueseriesmodel.cpp <span style="color: grey">(4fb1d5289edd2b9b699815e889a0f45352dea35a)</span></li>

 <li>tests/CMakeLists.txt <span style="color: grey">(2c0a7b95d55a83af7e86622dbdb9401daef98d4c)</span></li>

 <li>tests/initTest.h <span style="color: grey">(83ae8efe7d12f7ec2aaeb70c8b9da174f1a89ac1)</span></li>

 <li>tests/initTest.cpp <span style="color: grey">(fd7eef079e3c3c752815350764ebf34dc4c36715)</span></li>

 <li>ui/mercurialheadswidget.h <span style="color: grey">(7eaa6e53fd83fc634e81fcc2b8cd80011ff6e483)</span></li>

 <li>ui/mercurialheadswidget.cpp <span style="color: grey">(b0e2eb0f5f4968ebb54b2d95a88eba4a9b93f653)</span></li>

 <li>ui/mercurialqueuesmanager.h <span style="color: grey">(6411ea5fba9c59732cc82f100eb1c8fd49deee42)</span></li>

 <li>ui/mercurialqueuesmanager.cpp <span style="color: grey">(0ebc0e01880af7ae3cf332880852cd57c470eafa)</span></li>

</ul>

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







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








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