From 80a7107691643f5df121e383efb1f1975b64c744 Mon Sep 17 00:00:00 2001 From: Petar Perisin <petar.perisin@gmail.com> Date: Mon, 3 Jun 2013 23:12:17 +0200 Subject: [PATCH] Git - execute fetch asynchronously Change-Id: Ic2243adaa36444099f834676186331927f3f4588 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/git/gitclient.cpp | 9 +++------ src/plugins/git/gitclient.h | 2 +- src/plugins/git/gitplugin.cpp | 2 +- src/plugins/git/remotedialog.cpp | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index aebcb0ebe55..ecd0e71f4f4 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2839,16 +2839,13 @@ void GitClient::revert(const QStringList &files, bool revertStaging) } } -bool GitClient::synchronousFetch(const QString &workingDirectory, const QString &remote) +void GitClient::fetch(const QString &workingDirectory, const QString &remote) { QStringList arguments(QLatin1String("fetch")); arguments << (remote.isEmpty() ? QLatin1String("--all") : remote); - // Disable UNIX terminals to suppress SSH prompting. - const unsigned flags = VcsBase::VcsBasePlugin::SshPasswordPrompt|VcsBase::VcsBasePlugin::ShowStdOutInLogWindow - |VcsBase::VcsBasePlugin::ShowSuccessMessage; - const Utils::SynchronousProcessResponse resp = synchronousGit(workingDirectory, arguments, flags); - return resp.result == Utils::SynchronousProcessResponse::Finished; + VcsBase::Command *cmd = executeGit(workingDirectory, arguments, 0, true); + connectRepositoryChanged(workingDirectory, cmd); } bool GitClient::executeAndHandleConflicts(const QString &workingDirectory, diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 024ed600281..ef0c1ec31af 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -238,7 +238,7 @@ public: bool cloneRepository(const QString &directory, const QByteArray &url); QString vcsGetRepositoryURL(const QString &directory); - bool synchronousFetch(const QString &workingDirectory, const QString &remote); + void fetch(const QString &workingDirectory, const QString &remote); bool synchronousPull(const QString &workingDirectory, bool rebase); bool synchronousPush(const QString &workingDirectory, const QStringList &pushArgs = QStringList()); diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 215e9e67d19..3384d7f4112 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1075,7 +1075,7 @@ bool GitPlugin::submitEditorAboutToClose() void GitPlugin::fetch() { - m_gitClient->synchronousFetch(currentState().topLevel(), QString()); + m_gitClient->fetch(currentState().topLevel(), QString()); } void GitPlugin::pull() diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp index a027d62bf2d..37ebd29421a 100644 --- a/src/plugins/git/remotedialog.cpp +++ b/src/plugins/git/remotedialog.cpp @@ -184,7 +184,7 @@ void RemoteDialog::fetchFromRemote() int row = indexList.at(0).row(); const QString remoteName = m_remoteModel->remoteName(row); - m_remoteModel->client()->synchronousFetch(m_remoteModel->workingDirectory(), remoteName); + m_remoteModel->client()->fetch(m_remoteModel->workingDirectory(), remoteName); } void RemoteDialog::updateButtonState() -- GitLab