Git svn
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
cp ${relax_trunk}/.git/config ${relax_trunk}/.git/config_bck
awk '{gsub(a,b);print}' a=".*authorsfile =.*" b=" authorsfile = ${relax_trunk}/authors.txt" ${relax_trunk}/.git/config_bck > ${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
cp ${relax_disp}/.git/config ${relax_disp}/.git/config_bck
awk '{gsub(a,b);print}' a=".*authorsfile =.*" b=" authorsfile = ${relax_disp}/authors.txt" ${relax_disp}/.git/config_bck > ${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
Saving credentials
See this post
echo "machine github.com login ${GIT_USER_NAME} password SECRET" >> ~/.netrc chmod 0600 ~/.netrc