<table><tr><td style="">rjvbb added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7745" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">Watching directories is quite essential when working with Git or other SCMs. When checking out another branch, I want KDevelop's file tree to be updated as well.</pre></div></blockquote>

<p>My proposition doesn't make that impossible. It just makes it optional.</p>

<p>Of course that option could be hidden/omitted on platforms where it doesn't make sense. I have no issue with that, but didn't propose it because I know many do have a grip with platform #ifdefs. I could of course disable and hide the checkbox on Linux if KDirWatch uses inotify. I don't really want to go the direction of doing this as a function of project size: too machine-specific and personal (and thus random).</p>

<p>Unless we replace the checkbox with a file limit (where 0 would mean "always off")?</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">That works if your main method to open files is to use the project manager. However, some people prefer opening files via the //Quick Open// bar. In that case you want to watch the entire tree, otherwise new files might be invisible for a long time.</pre></div></blockquote>

<p>I work mainly on a platform where dirwatching doesn't work anyway, and I get by. It's not a big deal to do a (partial) reload of the project tree. Annoying sometimes, but I don't have any other choice anyway.<br />
(Reminder, dirwatching did work in KDevelop4 but ate file descriptors so had to be limited.)</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">The difference between IMAP and our situation is that in the former case there is a network connection (usually WAN), while in the latter case all files are typically local.</pre></div></blockquote>

<p>Yes, the cost of continuous syncing is in different things, but it can still be a cost that is best avoided.</p>

<p>Does anyone know what the other costs are (on Linux), not in terms of project import duration but runtime costs that add up to become significant above a certain project size (memory, interrupts, file descriptors, gnomes, moonrays, whatever)?</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7745" rel="noreferrer">https://phabricator.kde.org/D7745</a></div></div><br /><div><strong>To: </strong>rjvbb, KDevelop<br /><strong>Cc: </strong>aaronpuchert, arrowdodger, brauch, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight<br /></div>