diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 9d9628099f5..8154a076ebd 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1008,10 +1008,7 @@ void GitClient::merge(const FilePath &workingDirectory, const QStringList &unmer void GitClient::status(const FilePath &workingDirectory) const { - VcsOutputWindow::setRepository(workingDirectory); - vcsExecWithHandler(workingDirectory, {"status", "-u"}, this, [](const CommandResult &) { - VcsOutputWindow::instance()->clearRepository(); - }, RunFlags::ShowStdOut); + vcsExec(workingDirectory, {"status", "-u"}, RunFlags::ShowStdOut); } static QStringList normalLogArguments() diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index d8db4418597..b86ac06f596 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -802,9 +802,7 @@ void SubversionPluginPrivate::svnStatus(const FilePath &workingDir, const QStrin args << SubversionClient::AddAuthOptions(); if (!relativePath.isEmpty()) args << SubversionClient::escapeFile(relativePath); - VcsOutputWindow::setRepository(workingDir); runSvn(workingDir, args, RunFlags::ShowStdOut | RunFlags::ShowSuccessMessage); - VcsOutputWindow::clearRepository(); } void SubversionPluginPrivate::filelog(const FilePath &workingDir, diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 522bcd6d79e..8e8e8a3e8d7 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -476,10 +476,8 @@ void VcsBaseClient::status(const FilePath &workingDir, { QStringList args(vcsCommandString(StatusCommand)); args << extraOptions << file; - VcsOutputWindow::setRepository(workingDir); VcsCommand *cmd = createCommand(workingDir); cmd->addFlags(RunFlags::ShowStdOut); - connect(cmd, &VcsCommand::done, VcsOutputWindow::instance(), &VcsOutputWindow::clearRepository); enqueueJob(cmd, args); } diff --git a/src/plugins/vcsbase/vcscommand.cpp b/src/plugins/vcsbase/vcscommand.cpp index c8d0b62caaa..20f9b292935 100644 --- a/src/plugins/vcsbase/vcscommand.cpp +++ b/src/plugins/vcsbase/vcscommand.cpp @@ -90,12 +90,14 @@ int VcsCommandPrivate::timeoutS() const void VcsCommandPrivate::setup() { + VcsOutputWindow::setRepository(m_defaultWorkingDirectory); if (m_flags & RunFlags::ExpectRepoChanges) GlobalFileChangeBlocker::instance()->forceBlocked(true); } void VcsCommandPrivate::cleanup() { + VcsOutputWindow::clearRepository(); if (m_flags & RunFlags::ExpectRepoChanges) GlobalFileChangeBlocker::instance()->forceBlocked(false); } @@ -227,7 +229,6 @@ void VcsCommandPrivate::processDone() VcsCommand::VcsCommand(const FilePath &workingDirectory, const Environment &environment) : d(new Internal::VcsCommandPrivate(this, workingDirectory, environment)) { - VcsOutputWindow::setRepository(d->m_defaultWorkingDirectory); connect(ICore::instance(), &ICore::coreAboutToClose, this, [this] { if (d->m_process && d->m_process->isRunning()) d->cleanup();