git clone ssh://uhlig@lxetch32.gsi.de/misc/uhlig/GIT/cbmroot
git pull to get changes
git push to commit changes
commits to svn should only be done from GSI machine
Working with GIT, SVN and gitorious
After i messed up the first version of the git repository due to
unresolvable differences between the gitorious repository and the working copy which was used to synchronize git with svn I cam to the conclusion that it is better to use the
synchronization repository only for synchronization. In the first version I did also the work (edit, new branches, merges and so on) in this directory.
In the following I will document how I setup the second version and how the workflow looks like.
The
synchronization repositories between the SVN repository and gitorious@gsi is on demac006 at ~/GIT
This directory should be only used to fetch the latest updates from SVN, push them to gitorious and maybe after merging (done from another working directory) fetch the new version from gitorious and dcommit them to SVN.
All the other git repositories should be synchronized with the gitorious repository at gsi.
Setup a new git repository on gitorious@GSI
- Check out a new git repository from the central SVN repository
- Add the gitorious repository as path to push changes
- Create the gitorious repository by pushing the data
Create a new git working directory from gitorious@gsi
- Create a clone of the gitorious repository
- Add the gitorious repository as path to push changes (if necessary)
- For pandaroot one also needs the genfit. Create somewhere a directory where all the genfit stuff is located. This is only a SVN repository. Then also create the symbolic links from inside pandaroot to the correct directories.
- For cbmroot one has to copy the required fieldmaps to the input directory.
Create a new branch for the development
To make things more easy for later merges it is best to do all the developments in a development branch. If the development is ready to go back to the SVN repository one has to merge the development branch into the master branch.
- git checkout -b branchname
--
FlorianUhlig - 18 May 2010