Skip to content

Commit 58839fa

Browse files
Gabriel Nützitnyblom
Gabriel Nützi
authored andcommitted
Error out if error happens in fast import process
1 parent c1b5012 commit 58839fa

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

src/repository.cpp

+21
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,27 @@ static const int maxSimultaneousProcesses = 100;
3030
typedef unsigned long long mark_t;
3131
static const mark_t maxMark = ULONG_MAX;
3232

33+
LoggingQProcess::LoggingQProcess(const QString filename)
34+
: QProcess(), log()
35+
{
36+
if(CommandLineParser::instance()->contains("debug-rules")) {
37+
logging = true;
38+
QString name = filename;
39+
name.replace('/', '_');
40+
name.prepend("gitlog-");
41+
log.setFileName(name);
42+
log.open(QIODevice::WriteOnly);
43+
} else {
44+
logging = false;
45+
}
46+
47+
// Trigger a crictical error if any error in the process happens
48+
connect(this, &QProcess::errorOccurred, this,
49+
[this](QProcess::ProcessError error) {
50+
qCritical() << "Error happened in fast import process, error code: '" << error <<"'";
51+
});
52+
};
53+
3354
class FastImportRepository : public Repository
3455
{
3556
public:

src/repository.h

+1-12
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,7 @@ class LoggingQProcess : public QProcess
3131
QFile log;
3232
bool logging;
3333
public:
34-
LoggingQProcess(const QString filename) : QProcess(), log() {
35-
if(CommandLineParser::instance()->contains("debug-rules")) {
36-
logging = true;
37-
QString name = filename;
38-
name.replace('/', '_');
39-
name.prepend("gitlog-");
40-
log.setFileName(name);
41-
log.open(QIODevice::WriteOnly);
42-
} else {
43-
logging = false;
44-
}
45-
};
34+
LoggingQProcess(const QString filename);
4635
~LoggingQProcess() {
4736
if(logging) {
4837
log.close();

0 commit comments

Comments
 (0)