<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/107115/">http://git.reviewboard.kde.org/r/107115/</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 11th, 2012, 8:35 a.m., <b>Andreas Pakulat</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;">I think I don't quite understand what the intention is here. Are you trying to make a one-step process out of the usual two-step process of comitting changes to a submodule and changing the parent module to include the new submodule changes? I think thats wrong at least in the general case. Of course there are cases where submodules are solely used to assemble several repositories in a meta-project, but its also possible to have submodules to include their code in the parent process. In such cases the commits in parent and sub-module have different messages and thus should be handled separately in KDevelop as well.</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">No. Committing to submodule's codebase is a different thing. This review is about changing the submodule's revision and recording these changes in a parent project.
$ cd Submodule
$ git pull origin
$ cd ..
$ git commit -m "Update the Submodule's checkout" -- Submodule
KDevelop won't allow you to do the last step via GUI because it will do literally the following:
> git commit -m "Update the Submodule's checkout" -- Submodule/*
...And this is going to fail because the parent repo knows nothing about "Submodule/*". This patch fixes it and nothing else.</pre>
<br />
<p>- Ivan</p>
<br />
<p>On October 29th, 2012, 3:06 p.m., Ivan Shapovalov wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for KDevelop.</div>
<div>By Ivan Shapovalov.</div>
<p style="color: grey;"><i>Updated Oct. 29, 2012, 3:06 p.m.</i></p>
<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;">Non-recursive operations in Git are handled by replacing a directory URL with URLs of all files (not directories) inside the given directory.
This is wrong when a change to a submodule directory (man git-submodule) is involved in commit. Actually, it does not make sense to "commit" all files inside the submodule directory as they are not a part of the parent repository.
And, actually, the commits are non-recursive by default (this is hardcoded) - so submodules can't be committed via GUI for now.
So, take list of all submodules in the repository and walk the source URL list copying all submodule items into the target list verbatim prior to invoking the directory->files expansion on the source list.</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;">Existing unit-tests and manual testing.</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">(1d13c5c)</span></li>
<li>plugins/git/gitplugin.cpp <span style="color: grey">(56efe2f)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/107115/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>