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

Reply via email to