wiki:ExtractSandbox

Version 6 (modified by Beman Dawes, 9 years ago) ( diff )

--

Moving Sandbox Libraries to GitHub

The Boost Sandbox is no longer needed since a proposed Boost library can be hosted publicly by the developer's https://github.com account.

If you have a proposed library in the sandbox, you may want to move it to GitHub.

Basic Procedure

Here is the procedure I used to move the endian library from the sandbox to GitHub. I've simplified it a bit and rerun it several times to verify that it works! If you have any kind of error failure, be sure to delete the temporary directory and start over from the beginning.

  • Create a empty repository named "endian" in my GitHub account via the usual web interface.
  • Run the following from the command line in a temporary directory.
git svn clone http://svn.boost.org/svn/boost/sandbox/endian
cd endian
git push --mirror git@github.com:Beman/endian.git
  • The endian local repository created in the previous steps must not be used for actual development because it contains hidden Subversion bridge metadata that interferes with normal Git operations. It can be deleted now or later. Then clone the GitHub repository into the parent directory where it should live permanently.
cd permanent-parent-directory
git clone git@github.com:Beman/endian.git

Troubleshooting

We have had a report that a mistyped URL caused the git svn clone step to fail without any indication of the cause. So double check the spelling of the URL if you have an unexplained failure!

Possible Enhancements

  • By default, the history commit messages have a cross-reference to the Subversion revision number. That can be suppressed by adding option --no-metadata like this: git svn clone --no-metadata http://svn.boost.org/svn/boost/sandbox/endian. I actually like the cross-references, so did not use this option.
  • Subversion login names can be converted to email addresses. See git svn clone -A option. I found this troublesome, and didn't get it to work, so gave up on it.
Note: See TracWiki for help on using the wiki.