From e48cabca25ab48a66ea72410b89ed01a5cb36423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20N=C3=BCtzi?= Date: Mon, 3 Aug 2020 10:55:06 +0200 Subject: [PATCH] Error out if error happens in fast import process --- src/repository.cpp | 21 +++++++++++++++++++++ src/repository.h | 13 +------------ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/repository.cpp b/src/repository.cpp index 5fd5b24..07a8729 100644 --- a/src/repository.cpp +++ b/src/repository.cpp @@ -30,6 +30,27 @@ static const int maxSimultaneousProcesses = 100; typedef unsigned long long mark_t; static const mark_t maxMark = ULONG_MAX; +LoggingQProcess::LoggingQProcess(const QString filename) + : QProcess(), log() +{ + if(CommandLineParser::instance()->contains("debug-rules")) { + logging = true; + QString name = filename; + name.replace('/', '_'); + name.prepend("gitlog-"); + log.setFileName(name); + log.open(QIODevice::WriteOnly); + } else { + logging = false; + } + + // Trigger a crictical error if any error in the process happens + connect(this, &QProcess::errorOccurred, this, + [this](QProcess::ProcessError error) { + qCritical() << "Error happened in fast import process, error code: '" << error <<"'"; + }); +}; + class FastImportRepository : public Repository { public: diff --git a/src/repository.h b/src/repository.h index 1de7517..e9051da 100644 --- a/src/repository.h +++ b/src/repository.h @@ -31,18 +31,7 @@ class LoggingQProcess : public QProcess QFile log; bool logging; public: - LoggingQProcess(const QString filename) : QProcess(), log() { - if(CommandLineParser::instance()->contains("debug-rules")) { - logging = true; - QString name = filename; - name.replace('/', '_'); - name.prepend("gitlog-"); - log.setFileName(name); - log.open(QIODevice::WriteOnly); - } else { - logging = false; - } - }; + LoggingQProcess(const QString filename); ~LoggingQProcess() { if(logging) { log.close();