aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.h
diff options
context:
space:
mode:
authorRaja R Harinath <harinath@hurrynot.org>2010-06-20 19:15:39 +0530
committerRaja R Harinath <harinath@hurrynot.org>2010-06-20 20:13:01 +0530
commitc99f14df097f72394a6bb9c8ae9130cd8cb86cf1 (patch)
tree0eceba926ef4a5fbdfec7810cd0427f9eecb21a6 /src/repository.h
parent97657964b3c9ba5d5b45dced323a53c1e5d83b94 (diff)
downloadsvn2git-c99f14df097f72394a6bb9c8ae9130cd8cb86cf1.tar
svn2git-c99f14df097f72394a6bb9c8ae9130cd8cb86cf1.tar.gz
svn2git-c99f14df097f72394a6bb9c8ae9130cd8cb86cf1.tar.bz2
svn2git-c99f14df097f72394a6bb9c8ae9130cd8cb86cf1.tar.xz
svn2git-c99f14df097f72394a6bb9c8ae9130cd8cb86cf1.zip
Track commits per-branch
Previously, all the SVN commits were tracked in a linear array, and we searched for nearest commits in that array. However, SVN history is not linear, and the 'next smallest commit' search was picking the wrong commit. I've moved the commit array into the 'Branch' structure. As a minor subtlety, the branch creation revision is also noted in the 'commitMarks' structure, by copying the commit mark of the branch point. We need this to ensure that the commits array is strictly non-decreasing.
Diffstat (limited to 'src/repository.h')
-rw-r--r--src/repository.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/repository.h b/src/repository.h
index 629616b..3df9d9a 100644
--- a/src/repository.h
+++ b/src/repository.h
@@ -72,6 +72,7 @@ private:
struct Branch
{
int created;
+ QVector<int> commits;
};
struct AnnotatedTag
{
@@ -86,7 +87,6 @@ private:
QHash<QString, Branch> branches;
QHash<QString, AnnotatedTag> annotatedTags;
QHash<int, int> commitMarks;
- QVector<int> exportedCommits;
QString name;
QProcess fastImport;
int commitCount;