gold

An article by Gaspard Bucher
  1. action
  2. ajax
  3. API
    1. zafu
    2. query builder
    3. rubyless
    4. gold
    5. property
    6. versions
    7. remote
    8. zazen
    9. console
  4. classes
  5. common attributes
  6. conditions
  7. context
  8. dates
  9. display
  10. forms
  11. i18n
  12. meta
  13. SQLiss
  14. urls

Gold is a simple executable that helps git teamwork.

source code: github.com/zena/gold

installation

# sudo gem install gold

Introduction

This is the workflow we use when developing zena.

The main idea is that developers work on feature branches on their fork and send an
email to the reviewer when work is ready. The reviewer pulls from these branches,
checks that all is good and either apply the commits to the gold master or abort.

There is a script called ‘gold’ that helps use this workflow once the remote references
are added.

Any questions ? Ask zena’s mailing list.

Comands

For a full list of commands, type ‘gold’ without any parameter:

# gold

Workflow

The setup and settings commands create a file called ‘gold.yml’ in the project’s ’.git’ folder.

Developer setup

1. login on github (John)
2. fork sandbox
3. on local machine, clone your own fork
> git clone git@github.com:john/PROJECT.git
> cd PROJECT
> gold setup

Reviewer setup

In a clone of the master branch of the project (not a fork).

# git clone [location of master]
# cd [name of project]
# gold setup
# gold add_dev john

Working on new ‘floppy’ feature

John (developer, on his own fork)

# git checkout gold
# git pull
# git checkout -b floppy
commit, commit
propose
# gold propose

reviewer

review
# gold review john/floppy
fail
# gold fail

John

reset, commit, squash, etc
propose again
# gold propose

reviewer

review
# gold review john/floppy
ok
# gold ok

John

cleanup
# git co floppy
# gold cleanup