# # # patch "src/model/GetRevision.cpp" # from [a59701ac07d146aab3ebb5f021c2ee92bb6bb085] # to [05616bd0029064d713e9a5e548aa73280fb06973] # # patch "src/model/GetRevision.h" # from [4a9baf972e663e6034bd88bb4809ef84f39686e1] # to [bb95945312477573c0d9f3e59cccb444df7e6328] # ============================================================ --- src/model/GetRevision.cpp a59701ac07d146aab3ebb5f021c2ee92bb6bb085 +++ src/model/GetRevision.cpp 05616bd0029064d713e9a5e548aa73280fb06973 @@ -99,7 +99,6 @@ void GetRevision::processTaskResult(cons if (entry.sym == "old_revision") { - I(!entry.hash.isNull()); currentRevision = entry.hash; QList changelist; revision.changesAgainstParent.insert(currentRevision, changelist); ============================================================ --- src/model/GetRevision.h 4a9baf972e663e6034bd88bb4809ef84f39686e1 +++ src/model/GetRevision.h bb95945312477573c0d9f3e59cccb444df7e6328 @@ -61,28 +61,39 @@ struct Change { return Qt::transparent; } + // the workspace root is an empty string - make it more recognizable + inline QString getPathName(const QString path) + { + if (path.isEmpty()) + { + return QObject::tr(""); + } + return path; + } + inline QString getDisplayData() { + switch (type) { case AddDir: case AddFile: case Patch: case Delete: - return stanza.at(0).vals.at(0); + return getPathName(stanza.at(0).vals.at(0)); case Rename: return QObject::tr("%1 to\n%2") - .arg(stanza.at(0).vals.at(0)) + .arg(getPathName(stanza.at(0).vals.at(0))) .arg(stanza.at(1).vals.at(0)); case AttrClear: return QObject::tr("'%1' from\n%2") .arg(stanza.at(1).vals.at(0)) - .arg(stanza.at(0).vals.at(0)); + .arg(getPathName(stanza.at(0).vals.at(0))); case AttrSet: return QObject::tr("'%1' to\n'%2' for\n%3") .arg(stanza.at(1).vals.at(0)) .arg(stanza.at(2).vals.at(0)) - .arg(stanza.at(0).vals.at(0)); + .arg(getPathName(stanza.at(0).vals.at(0))); } return QString(); }