Difference between revisions of "Git svn"

From relax wiki
Jump to navigation Jump to search
Line 5: Line 5:
  
 
Now add this as a private remote, by setting the remote name '''hub'''.
 
Now add this as a private remote, by setting the remote name '''hub'''.
  md relax_trunk
+
# Windows
  cd relax_trunk
+
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  
 
  git init  
  git remote add origin https://GIT_USER_NAME@github.com/nmr-relax/relax_trunk.git
+
# Windows
  git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/relax_trunk.git
+
  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 fetch origin
 
  git checkout --track origin/master
 
  git checkout --track origin/master
 
  git fetch hub
 
  git fetch hub
 
Now we add the user scripts repo
 
Now we add the user scripts repo
  git clone https://GIT_USER_NAME@github.com/nmr-relax/relax_scripts.git
+
# 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 <br>
 
Go to https://github.com/nmr-relax/relax_scripts <br>
 
Click '''Fork'''.
 
Click '''Fork'''.
 
  cd relax_scripts
 
  cd relax_scripts
  git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/relax_scripts.git
+
# 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 ==
 
== The relax_disp ==
Line 25: Line 47:
  
 
Now add this as a private remote, by setting the remote name '''hub'''.
 
Now add this as a private remote, by setting the remote name '''hub'''.
  md relax_disp
+
# Windows
  cd relax_disp
+
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  
 
  git init  
  git remote add origin https://GIT_USER_NAME@github.com/nmr-relax/relax_disp.git
+
# Windows
  git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/relax_disp.git
+
  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 fetch origin
 
  git checkout --track origin/master
 
  git checkout --track origin/master
 
  git fetch hub
 
  git fetch hub
 
Now we add the user scripts repo
 
Now we add the user scripts repo
  git submodule add https://GIT_USER_NAME@github.com/nmr-relax/relax_scripts.git
+
# 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 <br>
 
Go to https://github.com/nmr-relax/relax_scripts <br>
 
Click '''Fork'''.
 
Click '''Fork'''.
 
  cd relax_scripts
 
  cd relax_scripts
  git remote add hub https://GIT_USER_NAME@github.com/GIT_USER_NAME/relax_scripts.git
+
# 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 =
 
= Get future updates =

Revision as of 10:36, 23 July 2013

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

See also