Skip to content
Test for sharing utils
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Correctness-Rules.ruleset
README.md
ReSharper Naming Conventions.xml
ReSharper5.CodingStyle.xml
albacore_mods.rb
environment.rb
ilmerge.rb
ilmergeconfig.rb
paths.rb
project_data.rb
rakefile.rb.sample
utils.rb

README.md

Castle Releases

A getting-started tutorial in git form.

What it does:

It lets you add a subtree to /buildscripts which contains:

  • nice-to-have rake/albacore tasks which haven't been merged with a release of albacore yet
    • ilmerge
    • ilmerge config
  • environment configuration through tasks (e.g. env:release or for 'product'-type releases: env:rc[3])
  • utility scripts for copying
  • utility scripts for http://nvie.com/posts/a-successful-git-branching-model/
  • resharper naming conventions for the castle project
  • this readme

How to use:

If you have a previous /buildscripts folder (1-6), otherwise, step 7:

  1. Remove the buildscripts from git's index.
  2. You can squash this commit with 'git rebase -i HEAD~1' and then 's'-key, if you feel up for it.
  3. Make tmp branch and switch to it to place old buildscripts in it
  4. Add buildscripts to this branch
  5. Commit these changes to the tmp branch
  6. Go back to the branch you came from

1-6:

git rm -r --cached buildscripts
git commit -m "intermediate commit to remove buildscripts from index."
git checkout -b tmp
git add .
git commit -m "branch with buildscripts"
git checkout master

You're done with saving what has been in buildscripts. Now let's add the subtree. More Info

  1. name the other project "Releases", and fetch.
  2. prepare for the later step to record the result as a merge.
  3. read "master" branch of Releases to the subdirectory "buildscripts".
  4. record the merge result.

7-10:

git remote add -f Releases https://haf@github.com/haf/Castle.Releases.git 
git merge -s ours --no-commit Releases/master 
git read-tree --prefix=buildscripts/ -u Releases/master 
git commit -m "Merge Releases project as our subdirectory"

If you have branched off your previous /buildscripts, merge it back in (11-12), otherwise skip this step.

11-12:

git merge tmp
git branch -d tmp

You have applied the code in Releases! Congrats!

Maintain the result with subsequent merges using the "subtree" strategy:

git pull -s subtree Releases master

What now?

When this is done, enjoy your work and start configuring your project! First you'll need the rakefile, so do

mv buildscripts/rakefile.rb ./rakefile.rb

then update these files with your project data and paths:

  • buildscripts/project_data.rb
  • buildscripts/paths.rb

then verify that you have a tools directory and that it contains whatever paths.rb points to.

You can’t perform that action at this time.