CReP: IA dev workflow using git-svn
-
WARNING:: if you are working on vm-home to avoid out-of-memory problems do:
ulimit -v unlimited
-
Pull the last commits to the local master branch with:
git checkout master git svn rebase
-
use this branch to develop your feature and fix the bugs
and commit your work to the local git repository withgit commit -m 'bla bla bla bla'
-
create a test branch like the master
git checkout master git svn rebase git checkout -b sandMaster
and merge all the commits from the devBranch branch in an atomic commit (using –squash)
git merge --squash devBranch
check what is going on
git status git diff --staged
if everything looks ok, commit it
git commit
-
Now you can check if this code is working correctly
to be sure that the commit to the SVN will work correctly…
If everything is fine… -
…let’s do the same commit to the master branch
git checkout master git merge --squash devBranch git status git diff --staged git commit git svn rebase
-
Let’s do a dry-run and check the patches
git svn dcommit --dry-run git diff-tree 25e084b618580d69f5b57d8f9c1ca37045cf65dd~1 25e084b618580d69f5b57d8f9c1ca37045cf65dd -p
- If everything is correct it’s time to commit to the SVN remote repo
- You can push the code using the pi interface
create a working branch
git checkout -b devBranch |
git svn dcommit |