> On Sep 10, 2019, at 3:22 PM, Bryan Bishop <kanz...@gmail.com> wrote:
> 
> May we have and run a script against the old repository to verify that we get 
> the same results for the new git repository?

I’m not sure what you mean exactly in terms of “results”, but the answer is 
probably yes.  That’s why this took so long.  Every automatic svn-to-git 
conversion tool Cliff and I tried either had outright failures, data missing, 
corruption, or other significant problems.  The final result is a rather 
complex rebuild probably worthy of academic publication somewhere.

As part of the rebuilding process, the repo now even fixes a few “singularity” 
moments so you can trace back all files to their actual origination.  This is 
not even possible in the SVN repo now due to how move+change commits were not 
tracked back when the repo was converted from CVS to SVN.

We also discovered a few thousand commits in the 80’s that were corrupted 
during cvs2svn migration, never noticed until we were validating a rebuild 
based on the original CVS repo for older commits which will now be fixed too.  
He also worked hard to ensure that all history properly traces across branches, 
tags, tags that have to be stored in git as branches because they were edited 
and then get tagged, and more.   The conversion even preserves things like SVN 
revision numbers as notes so you can search and pull up revisions mentioned in 
old commit messages.

As far as validation to “get the same results”, a number of checks have been 
run but there’s not a single script to do an exhaustive test because the 
mapping is not 1-1.  There are SVN concepts that do not map perfectly to a GIT 
event and vice versa.  Some things are ignorable or even undesirable to migrate 
like svn mergeinfo commits.

I’m probably not going to remember all the testing done, but we’ve done diffing 
of the entire commit logs to ensure we understand and expect all differences.  
We’ve manually tested checking out specific revisions to make sure they match 
what is expected.  We’ve looked for specific boundary cases to observe how they 
are encoded (e.g., infamous commit # 22798).  There’s some additional testing 
that’s happening these last couple weeks too.

Does that answer your question? :)

Cheers!
Sean





_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to