Add support for base ClearCase.

Current implementation only works for UCM views, which is a bug.
UCM is layered on top of base ClearCase. UCM has concepts such as
projects, streams and activities. When a view is base ClearCase
disable all prompting for activity, UCM menu entries and dialogs.

Change-Id: I81fb1a014373ece97d3f681623d314344a59b75a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Knut Petter Svendsen
2012-09-24 11:39:34 +02:00
committed by Orgad Shaneh
parent 8676b58fb4
commit d1ef970a19
11 changed files with 131 additions and 58 deletions

View File

@@ -1,4 +1,5 @@
#include "clearcasesync.h"
#include "clearcaseconstants.h"
#include <QDir>
#include <QFutureInterface>
@@ -30,7 +31,8 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel,
total = settings.totalFiles.value(view, total);
// refresh activities list
m_plugin->refreshActivities();
if (m_plugin->isUcm())
m_plugin->refreshActivities();
if (settings.disableIndexer)
return;
@@ -66,6 +68,7 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel,
future.setProgressRange(0, total + 1);
QProcess process;
process.setWorkingDirectory(topLevel);
process.start(program, args);
if (!process.waitForStarted())
return;
@@ -75,6 +78,7 @@ void ClearCaseSync::run(QFutureInterface<void> &future, const QString &topLevel,
process.bytesAvailable() && !future.isCanceled())
{
QString line = QString::fromLocal8Bit(process.readLine().constData());
buffer += line;
if (buffer.endsWith(QLatin1Char('\n')) || process.atEnd()) {
int atatpos = buffer.indexOf(QLatin1String("@@"));