Infer some copy sources as additional parents
authorRaja R Harinath <harinath@hurrynot.org>
Thu, 1 Jul 2010 12:56:26 +0000 (18:26 +0530)
committerRaja R Harinath <harinath@hurrynot.org>
Thu, 1 Jul 2010 12:56:26 +0000 (18:26 +0530)
commit883fc2dfc9adbe42f490b6049b4a1db62b843b71
tree25e2daa1dbd50ec6db678dd8bd40c602d752d263
parentc1ae3088b783fc62faf7ee05279b31b8a37b568e
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.
src/repository.cpp
src/repository.h
src/svn.cpp