Basically: .) Make a git svn clone of the old repo, create a branch called pre_git_libmesh .) Merge upstream/master into pre_git_libmesh .) Merge pre_git_libmesh back into master.
The merges are trivial (no conflicts) because the git svn clone puts everything in the old SVN {branches,tags,trunk} directory structure. One more commit to delete those three directories and we are back to the current state of master before the merge. Besides the obvious benefit of having the entire history available online in one place, no commits or history have to be rewritten (rebased) in order to do this. The recent (i.e. last 3 years or so) history remains basically unaffected, other than the merge commit plus some cleanup commits. Here's a snapshot of the current graph showing my fork's master in relation to upstream/master: https://drive.google.com/file/d/0B9BK7pg8se_iTGJ0ZE9FcTdkSHM/view?usp=sharing This isn't 100% ideal, because the histories of the files before and after the move to github aren't really linked, but at least they *exist*. For instance, you can do: git log -- trunk/libmesh/aclocal.m4 to see the pre-github history of a file. There should be a one-time extra 40 MB or so to fetch for the old history. Another benefit is that authors who did their work before the github era and are not represented in the current history once again get credit for their work. Also, 'git shortlog --no-merges -s | sort -nr' confirms that Roy strengthens his status as commit king: 4581 Roy H. Stogner 2550 Benjamin S. Kirk 2443 John W. Peterson 562 David Knezevic 228 Derek Gaston 200 Paul T. Bauman 123 Cody Permann 118 Daniel Dreyer 111 Steffen Petersen 71 Truman Ellis 65 Daniel Schwen 60 Paul Bauman 35 no_author 34 David Andrs 24 Dmitry Karpeev 13 Sylvain Vallaghe 12 Robert Weidlich -- John
------------------------------------------------------------------------------
_______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel