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)
|
||||
return;
|
||||
|
||||
dialog.storeTopic();
|
||||
m_reviewers = dialog.reviewers();
|
||||
|
||||
QString target = dialog.selectedCommit();
|
||||
|
@@ -221,6 +221,13 @@ bool GerritPushDialog::isValid() const
|
||||
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)
|
||||
{
|
||||
bool blocked = m_ui->targetBranchComboBox->blockSignals(true);
|
||||
@@ -266,6 +273,10 @@ void GerritPushDialog::updateCommits(int index)
|
||||
{
|
||||
const QString branch = m_ui->localBranchComboBox->itemText(index);
|
||||
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);
|
||||
if (!remoteBranch.isEmpty()) {
|
||||
|
@@ -53,6 +53,7 @@ public:
|
||||
QString selectedTopic() const;
|
||||
QString reviewers() const;
|
||||
bool isValid() const;
|
||||
void storeTopic();
|
||||
|
||||
private:
|
||||
void setChangeRange();
|
||||
|
@@ -3001,6 +3001,12 @@ QString GitClient::readConfigValue(const QString &workingDirectory, const QStrin
|
||||
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
|
||||
{
|
||||
return readOneLine(workingDirectory, { "var", configVar });
|
||||
|
@@ -273,6 +273,8 @@ public:
|
||||
|
||||
QString readGitVar(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;
|
||||
bool readDataFromCommit(const QString &repoDirectory, const QString &commit,
|
||||
|
Reference in New Issue
Block a user