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

@@ -972,6 +972,15 @@ QString GitClient::findGitDirForRepository(const QString &repositoryDir) const
return res;
}
bool GitClient::managesFile(const QString &workingDirectory, const QString &fileName) const
{
QByteArray output;
QStringList arguments;
arguments << QLatin1String("ls-files") << QLatin1String("--error-unmatch") << fileName;
return fullySynchronousGit(workingDirectory, arguments, &output, 0,
VcsBasePlugin::SuppressCommandLogging);
}
VcsBase::VcsBaseEditorWidget *GitClient::findExistingVCSEditor(const char *registerDynamicProperty,
const QString &dynamicPropertyValue) const
{

View File

@@ -137,6 +137,7 @@ public:
QString findRepositoryForDirectory(const QString &dir);
QString findGitDirForRepository(const QString &repositoryDir) const;
bool managesFile(const QString &workingDirectory, const QString &fileName) const;
void diff(const QString &workingDirectory, const QString &fileName);
void diff(const QString &workingDirectory,

View File

@@ -229,6 +229,11 @@ bool GitVersionControl::managesDirectory(const QString &directory, QString *topL
return !topLevelFound.isEmpty();
}
bool GitVersionControl::managesFile(const QString &workingDirectory, const QString &fileName) const
{
return m_client->managesFile(workingDirectory, fileName);
}
bool GitVersionControl::vcsAnnotate(const QString &file, int line)
{
const QFileInfo fi(file);

View File

@@ -48,6 +48,7 @@ public:
Core::Id id() const;
bool managesDirectory(const QString &directory, QString *topLevel) const;
bool managesFile(const QString &workingDirectory, const QString &fileName) const;
bool isConfigured() const;
bool supportsOperation(Operation operation) const;