From 298d7968c1bd6381bd80a41c6bfea37d42c73a6a Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 28 Dec 2007 12:50:14 +0100 Subject: [PATCH] Don't start the git-fast-import process twice. And make it log its output to a file rather than garble the output of 10-15 process in stdout. --- src/repository.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/repository.cpp b/src/repository.cpp index 21641e7..63252b5 100644 --- a/src/repository.cpp +++ b/src/repository.cpp @@ -20,7 +20,7 @@ #include Repository::Repository(const Rules::Repository &rule) - : name(rule.name) + : name(rule.name), processHasStarted(false) { foreach (Rules::Repository::Branch branchRule, rule.branches) { Branch branch; @@ -129,14 +129,20 @@ Repository::Transaction *Repository::newTransaction(const QString &branch, const void Repository::startFastImport() { if (fastImport.state() == QProcess::NotRunning) { + if (processHasStarted) + qFatal("git-fast-import has been started once and crashed?"); + processHasStarted = true; + // start the process + QString outputFile = name; + outputFile.replace('/', '_'); + outputFile.prepend("log-"); + fastImport.setStandardOutputFile(outputFile, QIODevice::Append); + #ifndef DRY_RUN fastImport.setProcessChannelMode(QProcess::ForwardedChannels); fastImport.start("git-fast-import", QStringList()); #else - QString outputFile = name; - outputFile.replace('/', '_'); - fastImport.setStandardOutputFile(outputFile, QIODevice::Append); fastImport.start("/bin/cat", QStringList()); #endif } -- 2.45.1