diff options
author | Thiago Macieira <thiago.macieira@trolltech.com> | 2007-12-28 12:50:14 +0100 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@trolltech.com> | 2007-12-28 13:47:01 +0100 |
commit | 298d7968c1bd6381bd80a41c6bfea37d42c73a6a (patch) | |
tree | 7b2585a13b1d07e306ab13c929fa90a6abf7e888 | |
parent | 392c009ad5ee4276a7ced33257a0b15f56bb5a4b (diff) | |
download | svn2git-298d7968c1bd6381bd80a41c6bfea37d42c73a6a.tar svn2git-298d7968c1bd6381bd80a41c6bfea37d42c73a6a.tar.gz svn2git-298d7968c1bd6381bd80a41c6bfea37d42c73a6a.tar.bz2 svn2git-298d7968c1bd6381bd80a41c6bfea37d42c73a6a.tar.xz svn2git-298d7968c1bd6381bd80a41c6bfea37d42c73a6a.zip |
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.
-rw-r--r-- | src/repository.cpp | 14 |
1 files 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 <QDebug> 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 } |