Version 6 (modified by 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.