From 635a355f97b78d8ef7764d6eaca517768a04995f Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Wed, 12 Feb 2014 10:10:27 +0200
Subject: [PATCH] Git: Suppress "No local commits" error message in Push to
 Gerrit

Change-Id: Ib0cf79acf48d24848fda92a8b7b06efe62b46dbc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/git/gerrit/gerritpushdialog.cpp | 3 ++-
 src/plugins/git/logchangedialog.cpp         | 7 ++++---
 src/plugins/git/logchangedialog.h           | 3 ++-
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp
index 75a8f61d6f6..e7f78e1b78e 100644
--- a/src/plugins/git/gerrit/gerritpushdialog.cpp
+++ b/src/plugins/git/gerrit/gerritpushdialog.cpp
@@ -254,7 +254,8 @@ void GerritPushDialog::setRemoteBranches(bool includeOld)
 void GerritPushDialog::updateCommits(int index)
 {
     const QString branch = m_ui->localBranchComboBox->itemText(index);
-    const bool hasLocalCommits = m_ui->commitView->init(m_workingDir, branch);
+    const bool hasLocalCommits = m_ui->commitView->init(m_workingDir, branch,
+                                                        LogChangeWidget::Silent);
     m_ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(hasLocalCommits);
     setChangeRange();
 }
diff --git a/src/plugins/git/logchangedialog.cpp b/src/plugins/git/logchangedialog.cpp
index b955c81bb2c..f2360aee1e5 100644
--- a/src/plugins/git/logchangedialog.cpp
+++ b/src/plugins/git/logchangedialog.cpp
@@ -78,12 +78,13 @@ bool LogChangeWidget::init(const QString &repository, const QString &commit, Log
 {
     if (!populateLog(repository, commit, flags))
         return false;
-    if (!m_model->rowCount()) {
+    if (m_model->rowCount() > 0)
+        return true;
+    if (!(flags & Silent)) {
         VcsBaseOutputWindow::instance()->appendError(
                     GitPlugin::instance()->gitClient()->msgNoCommits(flags & IncludeRemotes));
-        return false;
     }
-    return true;
+    return false;
 }
 
 QString LogChangeWidget::commit() const
diff --git a/src/plugins/git/logchangedialog.h b/src/plugins/git/logchangedialog.h
index fd91548fb7d..c1fe042d0e1 100644
--- a/src/plugins/git/logchangedialog.h
+++ b/src/plugins/git/logchangedialog.h
@@ -56,7 +56,8 @@ public:
     enum LogFlag
     {
         None = 0x00,
-        IncludeRemotes = 0x01
+        IncludeRemotes = 0x01,
+        Silent = 0x02
     };
 
     Q_DECLARE_FLAGS(LogFlags, LogFlag)
-- 
GitLab