Hi Guys,
You may know that I use Git for local version control and then submit them to
assembla in batch. This also allows me to create little bug-fix branches to
try
different things before committing the final solution to H2. I was a big
Subversion fan until I got the hang of Git, and now I'm a HUGE Git fan. So...
I've created a Git clone of the Subversion repository and am making it
available
to you guys. To use it, you will need Git and git-svn. (In Debian, the
packages are 'git-core' and 'git-svn'.) To clone the repository, there are two
ways (8MB download):
THE EASY WAY:
$ wget http://gabe.is-a-geek.org/hydrogen/git-clone-hydrogen.sh
$ sh ./git-clone-hydrogen.sh hydrogen
The directory ./hydrogen will have the git repository.
THE HARD WAY:
$ mkdir $1
$ cd $1
$ git init
$ git remote add origin git://gabe.is-a-geek.org/git/hydrogen
$ git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
$ git fetch
$ git checkout -b master trunk
$ git-svn init --stdlayout http://svn.assembla.com/svn/hydrogen
$ git-svn fetch
FYI: Using gabe.is-a-geek.org is a one-time thing. After that, you'll only be
using svn.assembla.com.
GETTING UPDATES (ALL BRANCHES)
==============================
$ git-svn fetch
Note this only *gets* updates. It doesn't mess around with your current
working
copy at all (which is cool when you're in the middle of working on something).
To make your working copy up-to-date with trunk (assuming you're already
working
on trunk):
$ git merge trunk
COMMITTING CHANGES
==================
## Do some work
$ git commit -a -m "Adding cool changes"
## More work
$ git commit -a -m "More cool changes"
## Commit the work to assembla:
$ git-svn dcommit
REVIEWING HISTORY
=================
$ gitk --all
(You may have to separately install gitk and git-gui)
MERGING BRANCHES
================
Since Subversion doesn't have any way to indicate that a commit is the result
of
a merge (and Git does)... you have to be careful with this part. In order to
'dcommit' your changes to H2, you'll need to do your merges like this:
## From the jackMidi branch
$ git merge --no-commit --squash trunk
## Check your changes... resolve any conflicts
$ git commit -a -m "Merge rev FOO:BAR from trunk"
MORE ON GIT
===========
Git can be a little hard to learn. The documentation is better than average.
(Not as good as Subversion or Qt, but much better than Xorg and ALSA). Once
you've got the hang of Git's concepts, though, it has nice rewards.
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
man git
man git-svn
CAVEATS
=======
* This repository is updated daily... but that doesn't matter once
you've created your own clone.
* This repo is on my own server -- so if it gets a lot of traffic
I will have to take it down.
* This is not part of my occasional lobby to use Git. :-) This
is just sort of an FYI.
Peace,
Gabriel
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel