Hello, I delved into OCaml packaging svn history and decided it was too complex for a fully automated conversion keeping all the DAG-ish history. Therefore, I modified my svn2git script so that it generates shell scripts from "svn log" (XML) output. I then tuned the shell scripts for this specific packaging.
The script generator itself is not yet fully general so that it could be used for any package. Nonetheless, I have now a quite satisfactory repository with this semi-automatic conversion process: http://git.debian.org/?p=users/glondu-guest/test/ocaml.git I believe this repository is ready for use. If you want to have a look at what the shell scripts might look like, they are all in my home on alioth, in directory ocaml-svn2git-migration. Of course, they won't work as is, as manual intervention is needed in the process. Some remarks: * Many commit messages have been dropped because of "semantic" differences between svn and git. For examples, branch creation/deletion are not commits in git, branches do not have formal names, etc. * Commits removing tarballs have been dropped (all pristine-tar data is in pristine-tar branch). * There were many fast-forward changes, i.e. branches which were merged with a trunk where no changes occurred since the branching point. As a consequence, these branches will not occur at all in the git history. * There has been in the past an "ocaml-nums" package, packaged in the same directory as ocaml. AFAIU, it is completely independant (history-wise) of ocaml itself, so I ignored it. If we want to keep its history, I think we should make a separate repository. * The policy was taken from elsewhere in the svn tree at r2831 (a subdirectory of dh-make-ocaml). Only the history of the policy itself has been keeped, the remaining of dh-make-ocaml was ignored. * I think the full history of cdbs and dh_ocaml has been imported faithfully. * I don't understand svn commits r1211 and r1441, so I ignored them. * Concerning disk space: zack's repos is 2.7M, mine is 9.0M, but mine has upstream sources and pristine-tar data. FTR, a tarball of 3.10.2 is 2.7M compressed and 18M uncompressed. Our svn repos (with all packages) is 555M. The git repos have the following branches: * master/upstream/pristine-tar: as usual with git-buildpackage * cross/upstream-cross: a cross-compiler branch created by Eric Cooper. It is currently stuck at OCaml version 3.08.2, but it might be interesting in the future if someone wants to port it for a recent version of OCaml, so I kept them. * new-ocaml-md5sum: branch created by zack. I don't know exactly what it is, but I kept it since it seemed quite recent. Next steps: * I intend to cleanup my svn2git script so that it generates a shell script for any package repos. The generated-shell-script method proved to be very flexible and useful for repos with complex branching/merging history. Moreover, one can more easily put breakpoints and make checks during the conversion process. * What do we do with tools/projects? Any comments on {the new repos,the process,whatever else}? -- Stéphane -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

