Commit 0282b97c authored by Orgad Shaneh's avatar Orgad Shaneh Committed by Orgad Shaneh

VcsManager: Fix soft assertion when directory is managed by 2 VCS

In case 2 VCS manage the same directory, topLevel will be the same
for both. Chopping tmpDir gives a wrong directory for the second VC.

Change-Id: Ie20c716cf8b713dae0d5d8ecc4c947f1c5029544
Reviewed-by: default avatarKnut Petter Svendsen <knutpett@pvv.org>
Reviewed-by: default avatarTobias Hunger <tobias.hunger@digia.com>
parent 0ec26525
......@@ -277,6 +277,9 @@ IVersionControl* VcsManager::findVersionControlForDirectory(const QString &input
const QChar slash = QLatin1Char('/');
const StringVersionControlPairs::const_iterator cend = allThatCanManage.constEnd();
for (StringVersionControlPairs::const_iterator i = allThatCanManage.constBegin(); i != cend; ++i) {
// If topLevel was already cached for another VC, skip this one
if (tmpDir.count() < i->first.count())
continue;
d->cache(i->second, i->first, tmpDir);
tmpDir = i->first;
const int slashPos = tmpDir.lastIndexOf(slash);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment