Note to self:
Converting Hg repos to git using hg-fast-export.
$ sudo aptitude install hg-fast-export
$ cd new_git_dir
$ git init
$ hg-fast-export -r <hg-repo>
git version 220.127.116.11
hg version 2.1
Just discovered this:
A couple of weeks back I discovered a great tutorial on Ruby on Rails by Michael Hartl at http://www.railstutorial.org
The tutorial takes you through the steps of building a Twitter-like application (not a client!) from scratch. Aside from learning Ruby on Rails, this tutorial also teaches other useful technologies, techniques and best practices, such as:
- Behaviour driven development (BDD) using RSpec for unit, integration and functional testing
- Version control using Git
- Deployment using Heroku
- Basics of web design (CSS, Ajax)
- Setting up a database (the tutorial uses the lightweight SQLite3 format, but this can be ported to ‘real’ databases quite easily with Rails)
- Generating fake data for the test/staging database as well as the unit testing database
sloccount (SLOC: source lines of code) for the complete tutorial’s source code:
$ sloccount . ... SLOC Directory SLOC-by-Language (Sorted) 1182 spec ruby=1182 361 app ruby=361 167 vendor ruby=167 141 config ruby=141 109 db ruby=109 35 script ruby=35 ...
How to read these results?
- app: The actual application is less than 400 lines of code (this even includes the generated HTML)! Try that using Java or ASP.NET…😉
- spec: Tests are almost 4 times the size of the actual code (~1200 lines). These tests include unit, integration and functional tests!
- Most of the remaining code is auto-generated Rails code.