public
Rubygem
Description: Simple tool to help track git and svn vendor branches in a git repository
Homepage: http://evil.che.lu/projects/braid
Clone URL: git://github.com/evilchelu/braid.git
Search Repo:
evilchelu (author)
Tue Apr 29 07:15:54 -0700 2008
commit  48d8984da2b15538dae1c5bb8e2e19d76a2100b4
tree    167b973c73ff1f3fd228728bd1fe1ee9efc25ce8
parent  40376d431f84e53d02dd2335f5f9cff7590be5eb
braid /
name age message
folder .gitignore Tue Feb 05 04:20:20 -0800 2008 ignore pkg [evilchelu]
folder History.txt Wed Oct 31 09:43:50 -0700 2007 initial import [evilchelu]
folder License.txt Wed Feb 13 16:21:15 -0800 2008 update license [evilchelu]
folder Manifest.txt Tue Apr 29 05:35:18 -0700 2008 Update manifest. [norbert]
folder README.txt Thu Mar 06 06:18:58 -0800 2008 typo [evilchelu]
folder Rakefile Wed Oct 31 09:43:50 -0700 2007 initial import [evilchelu]
folder TODO.txt Mon Mar 10 12:19:26 -0700 2008 add braid diff wish [evilchelu]
folder bin/ Tue Apr 29 01:52:39 -0700 2008 Run fetch earlier when updating. Fix config ini... [norbert]
folder braid.gemspec Tue Apr 29 07:15:08 -0700 2008 update gemspec [evilchelu]
folder config/ Thu Apr 24 18:34:01 -0700 2008 update version to 0.3.5 [evilchelu]
folder lib/ Tue Apr 29 07:15:54 -0700 2008 use system instead of exec! for git-svn fetch [evilchelu]
folder log/ Wed Oct 31 09:43:50 -0700 2007 initial import [evilchelu]
folder script/ Wed Oct 31 09:43:50 -0700 2007 initial import [evilchelu]
folder setup.rb Wed Oct 31 09:43:50 -0700 2007 initial import [evilchelu]
folder spec/ Mon Apr 21 10:32:48 -0700 2008 Add new setup command for initializing remotes. [norbert]
folder tasks/ Mon Apr 21 06:12:11 -0700 2008 Fix the specs. [norbert]
README.txt
= README

Braid is a simple tool for managing vendor branches across different SCMs.

http://evil.che.lu/projects/braid

You'll need a rather recent version of git, most likely something after 1.5.4.

If you're on OS X, git from macports is at version 1.5.3.7 and braid won't work with that.
There a patch in the macports trac to allow you to get git-core 1.5.4.2, here (thanks jakehow):
http://trac.macosforge.org/projects/macports/ticket/13956

= INSTALLING FORM RUBYGEMS

# gem not published yet. please install from git
sudo gem install braid

= INSTALLING FROM GIT

# install deps
sudo gem install main
sudo gem install open4

git clone git://github.com/evilchelu/braid.git
cd braid
rake install_gem

= USAGE

# create a git repo
git init moo
cd moo

# ideally you will also do these, but they are just good practices
git config --global merge.summary true
git checkout -b localwork

# adding mirrors
braid add git://blah
braid add svn://muh
gitk braid/track
git merge braid/track

# updating mirrors
braid update muh
braid update
git merge braid/track

# removing mirrors
braid remove blah
braid remove muh
git merge braid/track

= MORE USAGE

Braid stores it's metadata in a file called ".braids" located in the current directory where braid is run.

For full usage docs run:

braid help
braid help COMMANDNAME

= POSSIBLE PROBLEMS

In a multiuser setup people won't have all the remote branches setup. But nothing is really lost, yet.

Theoretically if you add the same remotes on other checkout and set the branches correctly things could be made to just 
work(TM).

= ISSUES

Braid barely works and you'll definitely encounter bugs. Help is appreciated :).

For now, known issues and feature requests are stored in the TODO.txt file in the root of the braid checkout.