Sha256: a1e8e9150f1123d3da814c75dfcd7cbcc2bf5773758ebb3f15026caa61621e3f

Contents?: true

Size: 1.79 KB

Versions: 1

Compression:

Stored size: 1.79 KB

Contents

Hookup
======

Hookup takes care of Rails tedium like bundling and migrating through
Git hooks.  It fires after events like

* pulling in upstream changes
* switching branches
* stepping through a bisect
* conflict in schema

Usage
-----

    gem install hookup
    cd yourproject
    hookup install

### Bundling

Each time your current HEAD changes, hookup checks to see if your
`Gemfile`, `Gemfile.lock`, or gem spec has changed.  If so, it runs
`bundle check`, and if that indicates any dependencies are unsatisfied,
it runs `bundle install`.

### Migrating

Each time your current HEAD changes, hookup checks to see if any
migrations have been added, deleted, or modified.  Deleted and modified
migrations are given the `rake db:migrate:down` treatment, then `rake
db:migrate` is invoked to bring everything else up to date.

Hookup provides a `-C` option to change to a specified directory prior to
running `bundle` or `rake`. This should be used if your `Gemfile` and
`Rakefile` are in a non-standard location.

To use a non-standard `db` directory (where `schema.rb` and `migrate/`
live), add `--schema-dir="database/path"` to the `hookup post-checkout`
line in `.git/hooks/post-checkout`.

To force reloading the database if migrating fails, add
`--load-schema="rake db:reset"` to the `hookup post-checkout` line in
`.git/hooks/post-checkout`.

### Schema Resolving

Each time there's a conflict in `db/schema.rb` on the
`Rails::Schema.define` line, hookup resolves it in favor of the newer of
the two versions.

### Skip Hookup

Set the `SKIP_HOOKUP` environment variable to skip hookup.

    SKIP_HOOKUP=1 git checkout master
    
### Removing Hookup
    
    hookup remove

ChangeLog
---------

[See it on the wiki](https://github.com/tpope/hookup/wiki/ChangeLog)

License
-------

Copyright (c) Tim Pope.  MIT License.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hookup-1.2.5 README.markdown