Git svn
Contents
relax branches at github
The relax_trunk
Go to https://github.com/nmr-relax/relax_trunk
Click Fork.
Now add this as a private remote, by setting the remote name hub.
# Windows
set relax_trunk="C:\WinPython27\relax\relax_trunk"
set GIT_USER_NAME="GIT_USER_NAME"
md %relax_trunk%
cd %relax_trunk%
# Linux
bash ;
relax_trunk=$HOME\relax\relax_trunk
GIT_USER_NAME="GIT_USER_NAME"
mkdir -p ${relax_trunk}
cd $relax_trunk
git init
# Windows
git remote add origin https://%GIT_USER_NAME%@github.com/nmr-relax/relax_trunk.git
git remote add hub https://%GIT_USER_NAME%@github.com/%GIT_USER_NAME%/relax_trunk.git
# Linux
git remote add origin https://${GIT_USER_NAME}@github.com/nmr-relax/relax_trunk.git
git remote add hub https://${GIT_USER_NAME}@github.com/${GIT_USER_NAME}/relax_trunk.git
git fetch origin
git checkout --track origin/master
git fetch hub
## Now we add the user scripts repo
# Windows
git clone https://%GIT_USER_NAME%@github.com/nmr-relax/relax_scripts.git
# Linux
git clone https://${GIT_USER_NAME}@github.com/nmr-relax/relax_scripts.git
Go to https://github.com/nmr-relax/relax_scripts
Click Fork.
cd relax_scripts
# Windows
git remote add hub https://%GIT_USER_NAME%@github.com/%GIT_USER_NAME%/relax_scripts.git
# Linux
git remote add hub https://${GIT_USER_NAME}@github.com/${GIT_USER_NAME}/relax_scripts.git
The relax_disp
Go to https://github.com/nmr-relax/relax_disp
Click Fork.
Now add this as a private remote, by setting the remote name hub.
# Windows
set relax_disp="C:\WinPython27\relax\relax_disp"
set GIT_USER_NAME="GIT_USER_NAME"
md %relax_disp%
cd %relax_disp%
# Linux
bash ;
relax_disp=$HOME\relax\relax_disp
GIT_USER_NAME="GIT_USER_NAME"
mkdir -p ${relax_disp}
cd $relax_disp
git init
# Windows
git remote add origin https://%GIT_USER_NAME%@github.com/nmr-relax/relax_disp.git
git remote add hub https://%GIT_USER_NAME%@github.com/%GIT_USER_NAME%/relax_disp.git
# Linux
git remote add origin https://${GIT_USER_NAME}@github.com/nmr-relax/relax_disp.git
git remote add hub https://${GIT_USER_NAME}@github.com/${GIT_USER_NAME}/relax_disp.git
git fetch origin
git checkout --track origin/master
git fetch hub
## Now we add the user scripts repo
# Windows
git clone https://%GIT_USER_NAME%@github.com/nmr-relax/relax_scripts.git
# Linux
git clone https://${GIT_USER_NAME}@github.com/nmr-relax/relax_scripts.git
Go to https://github.com/nmr-relax/relax_scripts
Click Fork.
cd relax_scripts
# Windows
git remote add hub https://%GIT_USER_NAME%@github.com/%GIT_USER_NAME%/relax_scripts.git
# Linux
git remote add hub https://${GIT_USER_NAME}@github.com/${GIT_USER_NAME}/relax_scripts.git
Get future updates
For future 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
How the import to 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 commands.
md C:\WinPython27\relax cd C:\WinPython27\relax
You 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 copy authors.txt trunk
git svn clone http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt copy authors.txt relax_disp
#Build cd trunk scons cd .. cd relax_disp scons
Setup remotes to github
For branch trunk
cd C:\WinPython27\relax\trunk # 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_trunk.git # See the info git remote -v git remote show origin
Now go to github.com at https://github.com/organizations/nmr-relax click Repositories -> New.
Call it relax_trunk. We want to preserve history , so do not Initialize this repository with a README or anything like, README or .gitignore.
Then send svn branch master of to github
git push -u origin master
For branch relax_disp
cd C:\WinPython27\relax\relax_disp # 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/organizations/nmr-relax click Repositories -> New.
Call it relax_disp. We want to preserve history , so do not Initialize this repository with a README or anything like, README or .gitignore.
Then send svn branch master of to github
git push -u origin master
git operations
Get new changes from svn repository and push to github
git co master git svn fetch git rebase --onto remotes/git-svn git push origin master