Mercurial > hg > easyhg
diff mainwindow.cpp @ 157:e411bb42d934
* Default merge comments
author | Chris Cannam |
---|---|
date | Thu, 02 Dec 2010 21:52:24 +0000 |
parents | 4999dbf3a266 |
children | 910c2c5d1873 |
line wrap: on
line diff
--- a/mainwindow.cpp Thu Dec 02 21:32:04 2010 +0000 +++ b/mainwindow.cpp Thu Dec 02 21:52:24 2010 +0000 @@ -314,6 +314,10 @@ QStringList params; QString comment; + if (justMerged) { + comment = mergeCommitComment; + } + QStringList files = hgTabs->getSelectedCommittableFiles(); QStringList reportFiles = files; if (reportFiles.empty()) reportFiles = hgTabs->getAllCommittableFiles(); @@ -330,17 +334,21 @@ reportFiles, comment)) { - if ((justMerged == false) && //!!! review usage of justMerged, and how it interacts with asynchronous request queue - !files.empty()) { - // User wants to commit selected file(s) (and this is not merge commit, which would fail if we selected files) - params << "commit" << "--message" << comment << "--user" << getUserInfo() << "--" << files; + if (!justMerged && !files.empty()) { + // User wants to commit selected file(s) (and this is not + // merge commit, which would fail if we selected files) + params << "commit" << "--message" << comment + << "--user" << getUserInfo() << "--" << files; } else { // Commit all changes - params << "commit" << "--message" << comment << "--user" << getUserInfo(); + params << "commit" << "--message" << comment + << "--user" << getUserInfo(); } runner->requestAction(HgAction(ACT_COMMIT, workFolderPath, params)); } + + justMerged = false; } QString MainWindow::filterTag(QString tag) @@ -560,6 +568,8 @@ params << "merge"; runner->requestAction(HgAction(ACT_MERGE, workFolderPath, params)); + + mergeCommitComment = tr("Merge"); } @@ -571,6 +581,22 @@ params << "--rev" << Changeset::hashOf(id); runner->requestAction(HgAction(ACT_MERGE, workFolderPath, params)); + + mergeCommitComment = ""; + + foreach (Changeset *cs, currentHeads) { + if (cs->id() == id && !cs->isOnBranch(currentBranch)) { + if (cs->branch() == "" || cs->branch() == "default") { + mergeCommitComment = tr("Merge from the default branch"); + } else { + mergeCommitComment = tr("Merge from branch \"%1\"").arg(cs->branch()); + } + } + } + + if (mergeCommitComment == "") { + mergeCommitComment = tr("Merge from %1").arg(id); + } } @@ -1644,7 +1670,7 @@ if (canMerge) { hgTabs->setState(tr("<b>Awaiting merge</b> on %1").arg(branchText)); } else if (haveMerge) { - hgTabs->setState(tr("Have merged but not committed on %1").arg(branchText)); + hgTabs->setState(tr("Have merged but not yet committed on %1").arg(branchText)); } else if (canUpdate) { hgTabs->setState(tr("On %1. Not at the head of the branch: consider updating").arg(branchText)); } else if (currentBranchHeads > 1) {