diff options
Diffstat (limited to 'src/repository.cpp')
-rw-r--r-- | src/repository.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/repository.cpp b/src/repository.cpp index 72bbd60..29235e3 100644 --- a/src/repository.cpp +++ b/src/repository.cpp @@ -38,8 +38,14 @@ Repository::Repository(const Rules::Repository &rule) Repository::~Repository() { if (fastImport.state() != QProcess::NotRunning) { + fastImport.write("checkpoint\n"); + fastImport.waitForBytesWritten(-1); fastImport.closeWriteChannel(); - fastImport.waitForFinished(); + if (!fastImport.waitForFinished()) { + fastImport.terminate(); + if (!fastImport.waitForFinished(200)) + qWarning() << "git-fast-import for repository" << name << "did not die"; + } } } |