VCS: Do not try to add files that are already tracked

Task-number: QTCREATORBUG-2455
Change-Id: I4b1fa9676ad4a8d7293e035e4d6103251bef8aee
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: Cristian Tibirna <tibirna@kde.org>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2013-10-02 00:18:39 +03:00
committed by Orgad Shaneh
parent 6f24665e7e
commit fdb6ef90fc
32 changed files with 140 additions and 10 deletions

View File

@@ -412,11 +412,20 @@ void VcsManager::promptToAdd(const QString &directory, const QStringList &fileNa
if (!vc || !vc->supportsOperation(Core::IVersionControl::AddOperation))
return;
QStringList unmanagedFiles;
QDir dir(directory);
foreach (const QString &fileName, fileNames) {
if (!vc->managesFile(directory, dir.relativeFilePath(fileName)))
unmanagedFiles << fileName;
}
if (unmanagedFiles.isEmpty())
return;
Internal::AddToVcsDialog dlg(Core::ICore::mainWindow(), VcsManager::msgAddToVcsTitle(),
fileNames, vc->displayName());
unmanagedFiles, vc->displayName());
if (dlg.exec() == QDialog::Accepted) {
QStringList notAddedToVc;
foreach (const QString &file, fileNames) {
foreach (const QString &file, unmanagedFiles) {
if (!vc->vcsAdd(file))
notAddedToVc << file;
}