diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp index 5796198fa6d94ca8d974791966e943e8b11933f4..b31a260d653856b83d41c35cff8d4ddf0d4573af 100644 --- a/src/plugins/git/commitdata.cpp +++ b/src/plugins/git/commitdata.cpp @@ -108,6 +108,15 @@ static FileStates stateFor(const QChar &c) } } +bool operator<(const CommitData::StateFilePair &a, const CommitData::StateFilePair &b) +{ + if ((a.first & UnmergedFile) && !(b.first & UnmergedFile)) + return false; + if ((b.first & UnmergedFile) && !(a.first & UnmergedFile)) + return true; + return a.second < b.second; +} + bool CommitData::checkLine(const QString &stateInfo, const QString &file) { QTC_ASSERT(stateInfo.count() == 2, return false); @@ -147,6 +156,7 @@ bool CommitData::checkLine(const QString &stateInfo, const QString &file) files.append(qMakePair(yState, newFile)); } } + qSort(files); return true; } diff --git a/src/plugins/git/commitdata.h b/src/plugins/git/commitdata.h index 8be3ad3993e8bc309a8034ad379d35f474679a54..40fb452313cd9927edaca64e385b705afec6a69c 100644 --- a/src/plugins/git/commitdata.h +++ b/src/plugins/git/commitdata.h @@ -109,6 +109,8 @@ private: bool checkLine(const QString &stateInfo, const QString &file); }; +bool operator<(const CommitData::StateFilePair &a, const CommitData::StateFilePair &b); + } // namespace Internal } // namespace Git