Externals
Quickly freeze and unfreeze external git dependencies.
Compatibility
Tested with Ruby 1.8.6, 1.8.7, and 1.9.1.
Installation
gem install externals
Configuration
Create config/externals.yml:
acts_as_archive: repo: git://github.com/winton/acts_as_archive.git path: vendor/plugins rails: repo: git://github.com/rails/rails.git path: vendor
Freeze or unfreeze
You can run either of these for the first time, depending on what you want:
externals freeze externals unfreeze
If you only want to freeze one of the items in config/externals.yml
externals freeze acts_as_archive externals unfreeze acts_as_archive
The usual flow is to unfreeze, commit to the external, freeze, and commit to the parent project.
Your .git directories will be zipped and stored in /tmp when frozen, and moved back to the external when unfrozen.
Are my externals frozen?
When you want to know the status of your externals:
externals status