Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A set of rake tasks to help with checking in code

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGES
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
README.rdoc

rake_commit_tasks

This plugin contains a set of rake tasks for checking your project into source control (git or subversion). The most important is:

rake commit

which does the following, depending on source control:

git

1. Resets soft back to origin/branch (in order to collapse changes into one commit)
2. Adds new files to git and removes deleted files
3. Prompts for a commit message
4. Commits to git
5. Pulls changes from origin (and does a rebase to keep a linear history)
6. Runs the default rake task (which should run the tests)
7. Checks cruisecontrol.rb to see if the build is passing
8. Pushes the commit to origin

git-svn

1. Adds new files to git and removes deleted files
2. Prompts for a commit message
3. Commits to local git
4. Pulls changes from SVN
5. Runs the default rake task (which should run the tests)
6. Checks cruisecontrol.rb to see if the build is passing
7. Pushes the commit to SVN

subversion

1. Prompts for a commit message
2. Adds new files to subversion
3. Deletes missing files from subversion
4. svn update
5. Runs the default rake task (which should run the tests)
6. Checks cruisecontrol.rb to see if the build is passing
7. Checks in the code

The first version started with the code posted at Jay Field's Blog: blog.jayfields.com/2006/12/ruby-rake-commit.html. Improvements have been added in from several more projects.

Installation

git clone git://github.com/pgr0ss/rake_commit_tasks.git vendor/plugins/rake_commit_tasks
rake commit

Customization

Preventing checkins on broken builds

If you want the build to check your cruisecontrol.rb instance and prompt you before checking in on a broken build, set CCRB_RSS to the location of the RSS feed.

For example, in your Rakefile:

CCRB_RSS = 'http://example.com:3333/projects.rss'

Automatically merging from branch to trunk (subversion)

If you want the build to automatically merge changes to the trunk when checking in on the branch, set PATH_TO_TRUNK_WORKING_COPY to the location of the checked out trunk working copy.

For example, in your Rakefile:

PATH_TO_TRUNK_WORKING_COPY = "/Users/someone/my_project_trunk"

Now, if you have a branch checked out into /Users/someone/my_project_1.1 and you do a rake commit, the checkin will be merged into the trunk after the change is committed to the branch. Then, you can “cd /Users/someone/my_project_trunk” and check in the merged changes in the trunk. This behavior is described in more depth at www.pgrs.net/2007/10/16/automatically-merge-changes-from-branch-to-trunk

Something went wrong with that request. Please try again.