[MLton] Subversion

Stephen Weeks MLton@mlton.org
Wed, 27 Jul 2005 22:47:25 -0700

The reports on cvs2svn were positive, so I tried it out for myself on
the MLton CVS repository.  I converted the mlton subproject of the
June 25 snapshot of the MLton CVS repository to subversion using the
procedure described at


Essentially, the two commands were

  cvs2svn --dump-only --keywords-off --no-default-eol $cvsroot/mlton
  svnadmin --parent-dir mlton load svnroot <cvs2svn-dump

I verified that head revision and all of the tag revisions were
byte-for-byte identical with the corresponding exports from the CVS
repository.  I also glanced through the commitlog, and it looks good.
It was actually quite nice to see the whole commitlog of the project
since we started using CVS back in 2001, just over four years ago.

I've put up the converted repository at mlton.org.  Committers
(i.e. Matthew and I for now) can access the repository as


So, committers can check out the trunk with

  svn co svn+ssh://mlton.org/svnroot/mlton/trunk mlton

Anonymous read access is available via


So, anyone can check out the trunk with

  svn co svn://mlton.org/mlton/trunk mlton

Please try stuff out and report any problems.  I'm happy enough with
the results that, if no one else finds any problems, I'm ready to
switch over as soon as Matthew is.

I do wonder about the use of --no-default-eol in the conversion.  I
understand it is essential to get byte-for-byte identical files.  But
it seems to me that having svn:eol-style native is a good thing (for
text files).  That way, if we ever end up with a windows developer on
the MLton project, they can work without problems.  So, I think it
would be reasonable to do the real conversion without --no-default-eol
and then fix our one binary file (gdtoa.tgz) if necessary.  Anyone see
any problems with this?

As to --keywords-off, I used it because we've never used keyword
substitution in the MLton project, and I'm sure without it Henry will
be nervous :-).  Does anyone think using --keywords-off is a mistake?