Git svn
Contents
Background
How import in github was done
Based on these posts and on this recommended post, and also this post.
You should install msysgit on windows, to do the checkout.
md C:\WinPython27\relax cd C:\WinPython27\relax
To clone from a revision number, use -r NR. This will tell which revision to start taking history from. If you want to include all of the history, just leave that option off, but it will take a very long time, and you really don't need all of it. The older a revision you choose, the longer it will take to import. But you will not be able to "git blame" past the earliest revision you import.
You also need an authors.txt file, to correctly convert the metadata.
git svn clone http://svn.gna.org/svn/relax/trunk --no-metadata -A authors.txt git svn clone -r 20000:HEAD http://svn.gna.org/svn/relax/trunk --no-metadata -A authors.txt
git svn clone http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt git svn clone -r 20000:HEAD http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt
#Build cd trunk scons cd .. cd relax_disp scons
For futurev updates to the SVN revision HEAD, you now need to do a git svn rebase, which is very similar to: svn up
git svn rebase
Check branch information
git branch -a
Setup remotes to github
For branch trunk
cd C:\WinPython27\relax\trunk git remote add origin https://github.com/nmr-relax/trunk.git # If you are a member of the organization, with writing permissions, then do: git remote add origin https://GIT_USER_NAME@github.com/nmr-relax/trunk.git # See the info git remote -v git remote show origin
Now go to github.com at https://github.com/nmr-relax/trunk and click Fork.
Now add this as a private remote, by setting the remote name hub.
git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/trunk.git
For branch relax_disp
cd C:\WinPython27\relax\relax_disp git remote add origin https://github.com/nmr-relax/relax_disp.git # If you are a member of the organization, with writing permissions, then do: git remote add origin https://GIT_USER_NAME@github.com/nmr-relax/relax_disp.git # See the info git remote -v git remote show origin
Now go to github.com at https://github.com/nmr-relax/relax_disp and click Fork.
Now add this as a private remote, by setting the remote name hub.
git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/relax_disp.git
git operations
Now create a repository at your private github account. Do not check anything in like, README or .gitignore. We want to preserve history!
Then send svn branch master of to github
git push hub master
We need to make a setting how we push branches.
git config push.default simple
First get the latest changes from remote
git pull hub master git log