Checking in a change
We aim never to break the build. That is, all the unit tests should run before you check in a change.
In order to do this we usually:
- Check that all unit tests pass.
- Add a description of the change to the ChangeLog
- Check in the change, using the description as the check in message.
the easy way
There's now a handy rake task to to make this simpler and more consistent:
earth $ rake ci (in /Users/lachie/rsp/earth) UNABLE TO COMMIT (please set checkin message MSG) M app/models/earth/file.rb
In order actually to check in your change:
earth $ rake ci MSG="Added pressure valves to file API" (in /Users/lachie/rsp/earth) NOTICE: CREATE TABLE will create implicit sequence "directories_id_seq" for serial column "directories.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "directories_pkey" for table "directories" NOTICE: CREATE TABLE will create implicit sequence "files_id_seq" for serial column "files.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "files_pkey" for table "files" NOTICE: CREATE TABLE will create implicit sequence "metadata_attributes_id_seq" for serial column "metadata_attributes.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "metadata_attributes_pkey" for table "metadata_attributes" NOTICE: CREATE TABLE will create implicit sequence "metadata_strings_id_seq" for serial column "metadata_strings.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "metadata_strings_pkey" for table "metadata_strings" NOTICE: CREATE TABLE will create implicit sequence "plugin_descriptors_id_seq" for serial column "plugin_descriptors.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "plugin_descriptors_pkey" for table "plugin_descriptors" NOTICE: CREATE TABLE will create implicit sequence "servers_id_seq" for serial column "servers.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "servers_pkey" for table "servers" /opt/local/bin/ruby -Ilib:test "/opt/local/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb" "test/unit/directory_test.rb" "test/unit/earth_plugin_test.rb" "test/unit/file_monitor_test.rb" "test/unit/file_test.rb" "test/unit/helpers/directories_helper_test.rb" "test/unit/helpers/graph_helper_test.rb" "test/unit/quote_bad_characters_test.rb" "test/unit/server_test.rb" "test/unit/user_ldap_test.rb" "test/unit/user_test.rb" (in /Users/lachie/rsp/earth) Loaded suite /opt/local/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader Started .................................................................................... Finished in 7.993118 seconds. 84 tests, 2671 assertions, 0 failures, 0 errors /opt/local/bin/ruby -Ilib:test "/opt/local/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb" "test/functional/browser_controller_test.rb" "test/functional/graph_controller_test.rb" "test/functional/servers_controller_test.rb" Loaded suite /opt/local/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader Started ..................... Finished in 3.819124 seconds. 21 tests, 95 assertions, 0 failures, 0 errors /opt/local/bin/ruby -Ilib:test "/opt/local/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb" Sending app/models/earth/file.rb Transmitting file data .. Committed revision 1177.
