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
;t
jfLLf
tLfGfGL
tLjjEffGDt
fjfjfffLfGL;
GffffLLLLLGLGGGGLDL;
.GfffLLGGGLDLfffffGLGEGGLGf
:GGGDGLLLLGfLfffGLELEfLfLGLLG
ffDLLLDGLffDDjjjjjLGffEfLLfELGGLLGL,
tLfffGfjjLfffjjjjjjjjjjjjjLjDffLELffLLLfLDG
jj: ffLjjGtiittfitGifttfftttDtjtjGtDjjGjjjLfLjffffLG
jDGj GDjtjGi;;;t;tt,,it;;Liij;iiGtttttiftLtjjtjjjffffLfffL.
,fLfftjti,;:..:.:.:,G;,G,i;,;t;tijtititLtitjftjGttjjLDffLLLD
tjfjL;,:..i.,. .: t::i,,j:,;;;;ii;;tii;fiiDitttGtitttfjjjfDfLG
Lfffij.... .i .;:..;;j,;i,,i;;;;t;iGiiiDititiLijttftijttLjfGLGt
;Gf; fLfjj,,:tt...::,:,::,G,,,fti;iiiti;iiititftjttttjtitiftjiftititfLGLDD
fEKDGELt LLDt;;;;,,,,t,i;ii;;;;i;,iittttttjtjjjtttttttjjttjjjjLjtttitiGtGtffiLGDD,
DDGGGffL,ijLLii;jji;titifijjtiti;ifi;i;ij;ttt;tttijtttDtttjjttjjjfjjfjDjttitjGjGGGDEDD.
KGDLffLLfLjiijiiijtttjjjjjttiti;ttt;;ttit,i;i;titittjttfttGitDttjjjjjttjjjtffjffjGLDDDDE:
EGDLLEGLftLtLtiLjtLjjjjttittiiiiititittiiiittijititttjtitftttittjtttjffjfffjjfLLjLLLGGGEDD
iDGLDDDGjjtEjjjtffjfjjjttjjittitttit;tiii;tttttitiijtiittjtttttttGttGjtjffjffLfifLffGGGDGEEKj
DGGGGGLfLfjfjjfjjjtttjjjtjttjttjjttitiittiiittitttiiitttttjtjjtititjttjfLLffGtffLffLLLGGDGGGE
GGEGLLffjjjfDjfjfjjjjfffffjjtttjttitititttttjttttitttttjjjtitjtfttttjfftGLLGffLLLGGLLtjfffGLLL.
LDDGGLfLfffjjtjfLD. ;LLffLLfjjtjtttitittitttttittti;tttiitttttttttjjfffLLLLfjLGLLGLDLffjffLjtL:
KDLEGGjfjfjjffG ttjtLttjfLffjjtttttjttttjttttttjtttttiittttttttjjjLLLGLtLfLLLLLGEGGftLjjt;t
jELDEfffjjffj tttjjtjfitjfffjjjjjjjjjjjtjtttjtttttttttttjjtjjjfftfGLL;GLGLLLLGLf;tLj,G.
GDDDLfffjfj ,ittfjfit GLfLLLLLLLLLffjttttttttttttttttttjjfjfjjfLGiGLGLLffj;,LjiiG
KGKGDLffff ;iitjff .fGLGGGijjjjjjttttttttttttttjjfLff,LGjLGDGLLi,;fftDG
DELLfjLLL ,;ijff DiftjjLffjjjjtttttttjjjjfffjD,itGfGLLfj:tLjtfG
;EfEELfLj ,;itj Ljitt EDfLGLffjjjjjjjjjjffLjjtD:fLGijftifjtt;j;t.t.:;t
LfKfGDG :;ij .,tttfi :fLLLLLfffffffLfftGGjfffEGGftfi;i;:iLjjit
tfDffDf :i ,;;itft ,LLLLLGLfLLGfGGLi.,tKKDffLLGDDGLLL
GLEfDf ;;itjj jGGGGDfLLGL.:tjGLLLG,
DDGDGL ;;iijj tjLGGDDKKKKDLGt,: .
jfGEj ,;it: tjffLGDLKKKWKK
GEfL .:;; tjjffLGjEKEEKKK
GLf, . ;jjjjfLfEEEEEKW
.Lf .tjjjjfiDDEEEEK
L ttjjjf LEEEE:
tjjjf ;ED
ittj
: