Using fbrp
FBRP is my rails starter application. When you base an application on it you need another git repository to push the application to. So I have to set up the application in a way that it can get updates from FBRP and yet still be independent.
Base and Master Branches
Most Git apps have a master branch. When you set up a new application from FBRP your master branch will be tied to FBRP. This is not desirable. So instead we create a ‘base’ branch for fbrp
gch -b base
Now we modify .git/config.
[remote "fbrp"]
url = git://github.com/diabolo/fbrp.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "base"]
remote = fbrp
merge = master
What this does is tie the base branch in our new application to the master branch of FBRP. Now when FBRP is update we can pull directly into the base branch
gch base
git pull
After that we can merge back into the master branch doing a rebase
gch master
git rebase base
Setting up local remote
We can clone our new project and put it on little-un. In the following our new project is ‘tc4’
git clone --bare tc4 tc4.git
scp -r tc4.git deploy@little-un:/srv/git
Now we remote into little-un and change permissions
sshlun
sudo chown -R git:git /srv/git/tc4.git/
Finally we go back to our dev box and clone a new project
mv tc4 tc4.old
git clone git@little-un:/srv/git/tc4.git
If we do a
gb -a
We get
* master
origin/HEAD
origin/base
origin/master
If we wish to get updates from fbrp to our new clone we have to create a local base branch and update our .git/config as above
gch -b base
modify .git/config by adding
[remote "fbrp"]
url = git://github.com/diabolo/fbrp.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "base"]
remote = fbrp
merge = master
Now we should have
Branch | Push | Pull
------ | ------------- | ------
Base | no | yes (little-un)
Master | yes (github) | yes (little-un)
Initial Application Steps
- database.yml
- update session key in environment.rb
- update application name and repo location in deploy.rb
- create local database tables
Then migrate and run
rake spec
rake features