aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/repository.cpp')
-rw-r--r--src/repository.cpp8
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";
+ }
}
}