aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.cpp
diff options
context:
space:
mode:
authorRaja R Harinath <harinath@hurrynot.org>2010-07-05 21:35:10 +0530
committerRaja R Harinath <harinath@hurrynot.org>2010-07-05 21:35:10 +0530
commit2d55c90c734841b9c60b372047c296475e6e782b (patch)
treef5ee9338f1a1b33759b1229c5c6cd8e3be0bf82d /src/repository.cpp
parentb8ad70ccbf75cb25985b0e810be1e2c794b42c12 (diff)
downloadsvn2git-2d55c90c734841b9c60b372047c296475e6e782b.tar
svn2git-2d55c90c734841b9c60b372047c296475e6e782b.tar.gz
svn2git-2d55c90c734841b9c60b372047c296475e6e782b.tar.bz2
svn2git-2d55c90c734841b9c60b372047c296475e6e782b.tar.xz
svn2git-2d55c90c734841b9c60b372047c296475e6e782b.zip
Properly implement the 16-parent limit, rather than conservatively stopping at
15 commit parents.
Diffstat (limited to 'src/repository.cpp')
-rw-r--r--src/repository.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/repository.cpp b/src/repository.cpp
index 6758f5c..059dbf6 100644
--- a/src/repository.cpp
+++ b/src/repository.cpp
@@ -434,18 +434,18 @@ void Repository::Transaction::commit()
// note some of the inferred merges
QByteArray desc = "";
- int i = 0;
+ int i = !!parentmark; // if parentmark != 0, there's at least one parent
foreach (int merge, merges) {
if (merge == parentmark)
continue;
- // FIXME: options:
- // (1) ignore the 15 merges limit
- // (2) don't emit more than 15 merges
- // (3) create another commit on branch to soak up additional parents
- // we've chosen option (2) for now, since only artificial commits
- // created by cvs2svn seem to have this issue
- if (++i >= 16) {
+ if (++i > 16) {
+ // FIXME: options:
+ // (1) ignore the 16 parent limit
+ // (2) don't emit more than 16 parents
+ // (3) create another commit on branch to soak up additional parents
+ // we've chosen option (2) for now, since only artificial commits
+ // created by cvs2svn seem to have this issue
qWarning() << "too many merge parents";
break;
}