aboutsummaryrefslogtreecommitdiffstats
path: root/src/repository.h
diff options
context:
space:
mode:
authorRaja R Harinath <harinath@hurrynot.org>2010-07-01 18:26:26 +0530
committerRaja R Harinath <harinath@hurrynot.org>2010-07-01 18:26:26 +0530
commit883fc2dfc9adbe42f490b6049b4a1db62b843b71 (patch)
tree25e2daa1dbd50ec6db678dd8bd40c602d752d263 /src/repository.h
parentc1ae3088b783fc62faf7ee05279b31b8a37b568e (diff)
downloadsvn2git-883fc2dfc9adbe42f490b6049b4a1db62b843b71.tar
svn2git-883fc2dfc9adbe42f490b6049b4a1db62b843b71.tar.gz
svn2git-883fc2dfc9adbe42f490b6049b4a1db62b843b71.tar.bz2
svn2git-883fc2dfc9adbe42f490b6049b4a1db62b843b71.tar.xz
svn2git-883fc2dfc9adbe42f490b6049b4a1db62b843b71.zip
Infer some copy sources as additional parents
We use a literal meaning of multiple commit parents to allow us to infer some partial repository copying as merges. This helps us 1) track history despite some directory reorganization 2) link subset commits to parents 3) infer some merges which were achieved by overwriting a subtree with contents from another branch This seems to work well enough even with cvs2svn monster commits. The heuristics have been tuned by gut feel to work reasonably well with mono's SVN repository. They can definitely be improved.
Diffstat (limited to 'src/repository.h')
-rw-r--r--src/repository.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/repository.h b/src/repository.h
index 3df9d9a..020e1f6 100644
--- a/src/repository.h
+++ b/src/repository.h
@@ -40,6 +40,8 @@ public:
uint datetime;
int revnum;
+ QVector<int> merges;
+
QStringList deletedFiles;
QByteArray modifiedFiles;
@@ -52,6 +54,8 @@ public:
void setDateTime(uint dt);
void setLog(const QByteArray &log);
+ void noteCopyFromBranch (const QString &prevbranch, int revFrom);
+
void deleteFile(const QString &path);
QIODevice *addFile(const QString &path, int mode, qint64 length);
};