diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/repository.cpp | 3 | ||||
-rw-r--r-- | src/repository.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/repository.cpp b/src/repository.cpp index 0e9226f..76171ab 100644 --- a/src/repository.cpp +++ b/src/repository.cpp @@ -120,6 +120,9 @@ Repository::Transaction *Repository::newTransaction(const QString &branch, const txn->lastmark = revnum; startFastImport(); + if (++commitCount % 10000) + // write everything to disk every 10000 commits + fastImport.write("checkpoint\n"); return txn; } diff --git a/src/repository.h b/src/repository.h index 171b3b7..f971345 100644 --- a/src/repository.h +++ b/src/repository.h @@ -76,6 +76,7 @@ private: QHash<QString, Branch> branches; QString name; QProcess fastImport; + int commitCount; void startFastImport(); |