aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@trolltech.com>2007-12-28 12:50:14 +0100
committerThiago Macieira <thiago.macieira@trolltech.com>2007-12-28 13:47:01 +0100
commit298d7968c1bd6381bd80a41c6bfea37d42c73a6a (patch)
tree7b2585a13b1d07e306ab13c929fa90a6abf7e888 /src/repository.cpp
parent392c009ad5ee4276a7ced33257a0b15f56bb5a4b (diff)
downloadsvn2git-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.
Diffstat (limited to 'src/repository.cpp')
-rw-r--r--src/repository.cpp14
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
}