Difference between revisions of "Git svn"
| Line 110: | Line 110: | ||
|   git svn clone http://svn.gna.org/svn/relax/trunk --no-metadata -A authors.txt ${relax_trunk} ; |   git svn clone http://svn.gna.org/svn/relax/trunk --no-metadata -A authors.txt ${relax_trunk} ; | ||
| − |   cp  | + |   cp authors.txt ${relax_trunk} ; | 
|   cat ${relax_trunk}/.git/config |   cat ${relax_trunk}/.git/config | ||
|   sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_trunk}\/authors.txt/g" ${relax_trunk}/.git/config |   sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_trunk}\/authors.txt/g" ${relax_trunk}/.git/config | ||
| Line 116: | Line 116: | ||
|   git svn clone http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt ${relax_disp} ; |   git svn clone http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt ${relax_disp} ; | ||
| − |   cp  | + |   cp authors.txt ${relax_disp} ; | 
|   cat ${relax_disp}/.git/config |   cat ${relax_disp}/.git/config | ||
|   sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_disp}\/authors.txt/g" ${relax_disp}/.git/config |   sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_disp}\/authors.txt/g" ${relax_disp}/.git/config | ||
Revision as of 11:32, 23 July 2013
Contents
relax branches at github
You should install msysgit on windows, to do the commands.
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
 #Build
 scons
 ## 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
How the import to github was done
Based on these posts and on this recommended post, and also this post.
You need an authors.txt file, to correctly convert the metadata.
 bash ;
 relax=$HOME/backup/relax ;
 relax_disp=${relax}/relax_disp ;
 relax_trunk=${relax}/relax_trunk ;
 GIT_USER_NAME="GIT_USER_NAME" 
 mkdir -p ${relax_trunk} ${relax_disp} ;
 git svn clone http://svn.gna.org/svn/relax/trunk --no-metadata -A authors.txt ${relax_trunk} ;
 cp authors.txt ${relax_trunk} ;
 cat ${relax_trunk}/.git/config
 sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_trunk}\/authors.txt/g" ${relax_trunk}/.git/config
 cat ${relax_trunk}/.git/config
 git svn clone http://svn.gna.org/svn/relax/branches/relax_disp --no-metadata -A authors.txt ${relax_disp} ;
 cp authors.txt ${relax_disp} ;
 cat ${relax_disp}/.git/config
 sed -i "s/.*authorsfile =.*/        authorsfile = ${relax_disp}\/authors.txt/g" ${relax_disp}/.git/config
 cat ${relax_disp}/.git/config
Setup remotes to github
For branch trunk
 cd $relax_trunk
 git config --add user.name "Your Name"
 git config --add user.email you@example.com
 git config --add core.editor "nano"
 git config --add github.user ${GIT_USER_NAME}
 # 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
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 $relax_disp
 git config --add user.name "Your Name"
 git config --add user.email you@example.com
 git config --add core.editor "nano"
 git config --add github.user ${GIT_USER_NAME}
 # 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
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

