forked from qt-creator/qt-creator
Git: Persist topic per branch on Push to Gerrit
Change-Id: I5a4056f562bb3264a8bd35d73fb16860eb0984e7 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
a905948852
commit
7cfbcb41b9
@@ -322,6 +322,7 @@ void GerritPlugin::push(const QString &topLevel)
|
|||||||
if (dialog.exec() == QDialog::Rejected)
|
if (dialog.exec() == QDialog::Rejected)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
dialog.storeTopic();
|
||||||
m_reviewers = dialog.reviewers();
|
m_reviewers = dialog.reviewers();
|
||||||
|
|
||||||
QString target = dialog.selectedCommit();
|
QString target = dialog.selectedCommit();
|
||||||
|
@@ -221,6 +221,13 @@ bool GerritPushDialog::isValid() const
|
|||||||
return m_isValid;
|
return m_isValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GerritPushDialog::storeTopic()
|
||||||
|
{
|
||||||
|
const QString branch = m_ui->localBranchComboBox->currentText();
|
||||||
|
GitPlugin::client()->setConfigValue(m_workingDir, QString("branch.%1.topic").arg(branch),
|
||||||
|
selectedTopic());
|
||||||
|
}
|
||||||
|
|
||||||
void GerritPushDialog::setRemoteBranches(bool includeOld)
|
void GerritPushDialog::setRemoteBranches(bool includeOld)
|
||||||
{
|
{
|
||||||
bool blocked = m_ui->targetBranchComboBox->blockSignals(true);
|
bool blocked = m_ui->targetBranchComboBox->blockSignals(true);
|
||||||
@@ -266,6 +273,10 @@ void GerritPushDialog::updateCommits(int index)
|
|||||||
{
|
{
|
||||||
const QString branch = m_ui->localBranchComboBox->itemText(index);
|
const QString branch = m_ui->localBranchComboBox->itemText(index);
|
||||||
m_hasLocalCommits = m_ui->commitView->init(m_workingDir, branch, LogChangeWidget::Silent);
|
m_hasLocalCommits = m_ui->commitView->init(m_workingDir, branch, LogChangeWidget::Silent);
|
||||||
|
QString topic = GitPlugin::client()->readConfigValue(
|
||||||
|
m_workingDir, QString("branch.%1.topic").arg(branch));
|
||||||
|
if (!topic.isEmpty())
|
||||||
|
m_ui->topicLineEdit->setText(topic);
|
||||||
|
|
||||||
const QString remoteBranch = determineRemoteBranch(branch);
|
const QString remoteBranch = determineRemoteBranch(branch);
|
||||||
if (!remoteBranch.isEmpty()) {
|
if (!remoteBranch.isEmpty()) {
|
||||||
|
@@ -53,6 +53,7 @@ public:
|
|||||||
QString selectedTopic() const;
|
QString selectedTopic() const;
|
||||||
QString reviewers() const;
|
QString reviewers() const;
|
||||||
bool isValid() const;
|
bool isValid() const;
|
||||||
|
void storeTopic();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setChangeRange();
|
void setChangeRange();
|
||||||
|
@@ -3001,6 +3001,12 @@ QString GitClient::readConfigValue(const QString &workingDirectory, const QStrin
|
|||||||
return readOneLine(workingDirectory, { "config", configVar });
|
return readOneLine(workingDirectory, { "config", configVar });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GitClient::setConfigValue(const QString &workingDirectory, const QString &configVar,
|
||||||
|
const QString &value) const
|
||||||
|
{
|
||||||
|
readOneLine(workingDirectory, { "config", configVar, value });
|
||||||
|
}
|
||||||
|
|
||||||
QString GitClient::readGitVar(const QString &workingDirectory, const QString &configVar) const
|
QString GitClient::readGitVar(const QString &workingDirectory, const QString &configVar) const
|
||||||
{
|
{
|
||||||
return readOneLine(workingDirectory, { "var", configVar });
|
return readOneLine(workingDirectory, { "var", configVar });
|
||||||
|
@@ -273,6 +273,8 @@ public:
|
|||||||
|
|
||||||
QString readGitVar(const QString &workingDirectory, const QString &configVar) const;
|
QString readGitVar(const QString &workingDirectory, const QString &configVar) const;
|
||||||
QString readConfigValue(const QString &workingDirectory, const QString &configVar) const;
|
QString readConfigValue(const QString &workingDirectory, const QString &configVar) const;
|
||||||
|
void setConfigValue(const QString &workingDirectory, const QString &configVar,
|
||||||
|
const QString &value) const;
|
||||||
|
|
||||||
QTextCodec *encoding(const QString &workingDirectory, const QString &configVar) const;
|
QTextCodec *encoding(const QString &workingDirectory, const QString &configVar) const;
|
||||||
bool readDataFromCommit(const QString &repoDirectory, const QString &commit,
|
bool readDataFromCommit(const QString &repoDirectory, const QString &commit,
|
||||||
|
Reference in New Issue
Block a user