class Gem::Tasks::SCM::Status
def define
Defines the `status` task.
def define namespace :scm do task :status do status = self.status unless status.strip.empty? error "Project has uncommitted changes!" puts status abort end end end # do not allow tagging releases when the repository is dirty task 'scm:tag' => 'scm:status' # do not allow pushing commits when the repository is dirty task 'scm:push' => 'scm:status' # do not allow building packages when the repository is dirty task :build => 'scm:status' # do not allow pushing gems when the repository is dirty task :push => 'scm:status' end