diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2013-10-02 00:18:39 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2013-10-11 12:43:25 +0200 |
commit | fdb6ef90fc7a695e2b8d37abdfcf48fe0d8afb03 (patch) | |
tree | dbf64e035c2a58235ad16b0e0d575f300e56db36 /src/plugins/clearcase | |
parent | 6f24665e7e133d9d64ea07ae37e35b9e1a1e83a7 (diff) |
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>
Diffstat (limited to 'src/plugins/clearcase')
-rw-r--r-- | src/plugins/clearcase/clearcasecontrol.cpp | 5 | ||||
-rw-r--r-- | src/plugins/clearcase/clearcasecontrol.h | 1 | ||||
-rw-r--r-- | src/plugins/clearcase/clearcaseplugin.cpp | 7 | ||||
-rw-r--r-- | src/plugins/clearcase/clearcaseplugin.h | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/clearcase/clearcasecontrol.cpp b/src/plugins/clearcase/clearcasecontrol.cpp index 79f81242a17..c2f7dd44e02 100644 --- a/src/plugins/clearcase/clearcasecontrol.cpp +++ b/src/plugins/clearcase/clearcasecontrol.cpp @@ -134,6 +134,11 @@ bool ClearCaseControl::managesDirectory(const QString &directory, QString *topLe return m_plugin->managesDirectory(directory, topLevel); } +bool ClearCaseControl::managesFile(const QString &workingDirectory, const QString &fileName) const +{ + return m_plugin->managesFile(workingDirectory, fileName); +} + bool ClearCaseControl::vcsAnnotate(const QString &file, int line) { const QFileInfo fi(file); diff --git a/src/plugins/clearcase/clearcasecontrol.h b/src/plugins/clearcase/clearcasecontrol.h index f4a0fb5743c..fa980595e26 100644 --- a/src/plugins/clearcase/clearcasecontrol.h +++ b/src/plugins/clearcase/clearcasecontrol.h @@ -48,6 +48,7 @@ public: Core::Id id() const; bool managesDirectory(const QString &directory, QString *topLevel = 0) const; + bool managesFile(const QString &workingDirectory, const QString &fileName) const; bool isConfigured() const; diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index 3e2c34a505f..4775f2e8764 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -1850,6 +1850,13 @@ bool ClearCasePlugin::ccCheckUcm(const QString &viewname, const QString &working return QRegExp(QLatin1String("(^|\\n)ucm\\n")).indexIn(catcsData) != -1; } +bool ClearCasePlugin::managesFile(const QString &workingDirectory, const QString &fileName) const +{ + QStringList args; + args << QLatin1String("ls") << fileName; + return runCleartoolSync(workingDirectory, args).contains(QLatin1String("@@")); +} + ViewData ClearCasePlugin::ccGetView(const QString &workingDir) const { static QHash<QString, ViewData> viewCache; diff --git a/src/plugins/clearcase/clearcaseplugin.h b/src/plugins/clearcase/clearcaseplugin.h index 6d62e2e5e88..929844197af 100644 --- a/src/plugins/clearcase/clearcaseplugin.h +++ b/src/plugins/clearcase/clearcaseplugin.h @@ -166,6 +166,7 @@ public: void setStatus(const QString &file, FileStatus::Status status, bool update = true); bool ccCheckUcm(const QString &viewname, const QString &workingDir) const; + bool managesFile(const QString &workingDirectory, const QString &fileName) const; public slots: void vcsAnnotate(const QString &workingDir, const QString &file, |