Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
So your common files can swim upstream. ><{{{*>
Ruby
Tree: 527f6000ea

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
features
lib
.gitignore
LICENSE
README.textile

README.textile

Trout

So your common files can swim upstream.

Synopsis

Trout allows you to maintain a base version of special files (like Gemfile) in
one repository, and then syncronize just that file with several other
repositories. This means that you can update your Gemfile in the master
repository, and then get the latest of all the common gems that you use in each
project just by running “trout update Gemfile”.

Installation

gem install trout

Usage

Once you have a master repository set up containing the file you want to
syncronize, you can check out that file anywhere using trout:

trout checkout Gemfile git://github.com/someurl

If you update the file in your master repository and want to get the changes,
you can use the update command:

trout update Gemfile

If there are any conflicts, trout will help you resolve them by merging the two
trees using diff3.

Why

I wrote this primarily to manage Gemfiles between projects, hoping to avoid
using an “ancestor” git repository that gets dumped into the git history of
every new project. This also solves the “multiple inheritance” problem of git
repositories if you want to manage different files from different sources.

Author

Copyright 2010 Joe Ferris

Something went wrong with that request. Please try again.