# # # patch "src/monotone/MonotoneThread.cpp" # from [53d99bd42b9b62caf3d720ced1ac673b900c28f8] # to [505d2ba3cf0b500d399fe6db25ba3b2d64bbb77b] # # patch "src/util/StdioParser.h" # from [280e28221050eecf94aac14355dc0f80c09f7dd3] # to [fc5bb9ab71c3b4b0b02086fa807dd8fed5ae5c00] # ============================================================ --- src/monotone/MonotoneThread.cpp 53d99bd42b9b62caf3d720ced1ac673b900c28f8 +++ src/monotone/MonotoneThread.cpp 505d2ba3cf0b500d399fe6db25ba3b2d64bbb77b @@ -436,6 +436,38 @@ void MonotoneThread::run() buffer = parser.getLeftBytes(); output.append(parser.getPayload()); + typedef QPair MessagePair; + + // for now simply log out of band messages + foreach (MessagePair pair, parser.getOutOfBandMessages()) + { + QString msg = + QString("monotone reports for thread %1, task %2: %3") + .arg(threadNumber) + .arg(task->getCommandNumber()) + .arg(QString(pair.second)); + + if (pair.first == 'w') + { + DebugLog::warn(msg); + continue; + } + + if (pair.first == 'p') + { + DebugLog::info(msg); + continue; + } + + if (pair.first == 'e') + { + DebugLog::critical(msg); + continue; + } + + I(false); + } + if (parser.getChunkType() == 'l') { returnCode = parser.getErrorCode(); ============================================================ --- src/util/StdioParser.h 280e28221050eecf94aac14355dc0f80c09f7dd3 +++ src/util/StdioParser.h fc5bb9ab71c3b4b0b02086fa807dd8fed5ae5c00 @@ -34,6 +34,7 @@ public: inline int getChunkSize() const { return chunkSize; } inline QByteArray getPayload() const { return payload; } inline TickerMap getTickers() const { return tickers; } + inline QList > getOutOfBandMessages() const { return oobMessages; } private: int getNumber();