forked from qt-creator/qt-creator
Git: Prevent tracking tags
Change-Id: Iea935aa226b70de936653b7637b4b9bb5e9c64cf Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
11e7c706be
commit
57a6f04ce6
@@ -124,12 +124,14 @@ QString BranchAddDialog::branchName() const
|
|||||||
void BranchAddDialog::setTrackedBranchName(const QString &name, bool remote)
|
void BranchAddDialog::setTrackedBranchName(const QString &name, bool remote)
|
||||||
{
|
{
|
||||||
m_ui->trackingCheckBox->setVisible(true);
|
m_ui->trackingCheckBox->setVisible(true);
|
||||||
if (!name.isEmpty())
|
if (!name.isEmpty()) {
|
||||||
m_ui->trackingCheckBox->setText(remote ? tr("Track remote branch \'%1\'").arg(name) :
|
m_ui->trackingCheckBox->setText(remote ? tr("Track remote branch \'%1\'").arg(name) :
|
||||||
tr("Track local branch \'%1\'").arg(name));
|
tr("Track local branch \'%1\'").arg(name));
|
||||||
else
|
|
||||||
m_ui->trackingCheckBox->setVisible(false);
|
|
||||||
m_ui->trackingCheckBox->setChecked(remote);
|
m_ui->trackingCheckBox->setChecked(remote);
|
||||||
|
} else {
|
||||||
|
m_ui->trackingCheckBox->setVisible(false);
|
||||||
|
m_ui->trackingCheckBox->setChecked(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BranchAddDialog::track()
|
bool BranchAddDialog::track()
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ void BranchDialog::add()
|
|||||||
trackedBranch = m_model->branchName(trackedIndex);
|
trackedBranch = m_model->branchName(trackedIndex);
|
||||||
}
|
}
|
||||||
const bool isLocal = m_model->isLocal(trackedIndex);
|
const bool isLocal = m_model->isLocal(trackedIndex);
|
||||||
|
const bool isTag = m_model->isTag(trackedIndex);
|
||||||
|
|
||||||
QStringList localNames = m_model->localBranchNames();
|
QStringList localNames = m_model->localBranchNames();
|
||||||
|
|
||||||
@@ -141,7 +142,7 @@ void BranchDialog::add()
|
|||||||
|
|
||||||
BranchAddDialog branchAddDialog(true, this);
|
BranchAddDialog branchAddDialog(true, this);
|
||||||
branchAddDialog.setBranchName(suggestedName);
|
branchAddDialog.setBranchName(suggestedName);
|
||||||
branchAddDialog.setTrackedBranchName(trackedBranch, !isLocal);
|
branchAddDialog.setTrackedBranchName(isTag ? QString() : trackedBranch, !isLocal);
|
||||||
|
|
||||||
if (branchAddDialog.exec() == QDialog::Accepted && m_model) {
|
if (branchAddDialog.exec() == QDialog::Accepted && m_model) {
|
||||||
QModelIndex idx = m_model->addBranch(branchAddDialog.branchName(), branchAddDialog.track(), trackedIndex);
|
QModelIndex idx = m_model->addBranch(branchAddDialog.branchName(), branchAddDialog.track(), trackedIndex);
|
||||||
|
|||||||
@@ -77,6 +77,18 @@ public:
|
|||||||
return children.isEmpty();
|
return children.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isTag() const
|
||||||
|
{
|
||||||
|
if (!parent)
|
||||||
|
return false;
|
||||||
|
for (const BranchNode *p = this; p->parent; p = p->parent) {
|
||||||
|
// find root child with name "tags"
|
||||||
|
if (!p->parent->parent && p->name == QLatin1String("tags"))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool childOf(BranchNode *node) const
|
bool childOf(BranchNode *node) const
|
||||||
{
|
{
|
||||||
if (this == node)
|
if (this == node)
|
||||||
@@ -435,6 +447,13 @@ bool BranchModel::isLeaf(const QModelIndex &idx) const
|
|||||||
return node->isLeaf();
|
return node->isLeaf();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool BranchModel::isTag(const QModelIndex &idx) const
|
||||||
|
{
|
||||||
|
if (!idx.isValid())
|
||||||
|
return false;
|
||||||
|
return indexToNode(idx)->isTag();
|
||||||
|
}
|
||||||
|
|
||||||
void BranchModel::removeBranch(const QModelIndex &idx)
|
void BranchModel::removeBranch(const QModelIndex &idx)
|
||||||
{
|
{
|
||||||
QString branch = branchName(idx);
|
QString branch = branchName(idx);
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ public:
|
|||||||
QString sha(const QModelIndex &idx) const;
|
QString sha(const QModelIndex &idx) const;
|
||||||
bool isLocal(const QModelIndex &idx) const;
|
bool isLocal(const QModelIndex &idx) const;
|
||||||
bool isLeaf(const QModelIndex &idx) const;
|
bool isLeaf(const QModelIndex &idx) const;
|
||||||
|
bool isTag(const QModelIndex &idx) const;
|
||||||
|
|
||||||
void removeBranch(const QModelIndex &idx);
|
void removeBranch(const QModelIndex &idx);
|
||||||
void checkoutBranch(const QModelIndex &idx);
|
void checkoutBranch(const QModelIndex &idx);
|
||||||
|
|||||||
Reference in New Issue
Block a user