Sha256: 62f390e7030db10f428a69a5655790981e92b96b5861e716efc6f23fadd55da5

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require 'kde-build/command/module_based'

module BuildTool

    class RebaseCommand < ModuleBasedCommand

        def initialize
            super( 'rebase', false )
            self.short_desc = "Rebase the local repository."
            self.description = <<-"EOS"
Rebases the local repository against the changes made in the remote
repository. The changes will be first fetched and then the rebase is done. If
the vcs doesn't support that separation fetch and rebase are done in one step.

If --no-update is present only a rebase is done. Remember that  svn doesn't
support that separation and will still fetch changes.
            EOS
            @update = true
            self.options = CmdParse::OptionParserWrapper.new do |opt|
                opt.separator "Options:"
                opt.on( "--no-update", "Do not update from the repository" ) { |t|
                    @update = false
                    }
            end
        end

        def is_module_ready( mod )
            mod.activate_ssh_key
            true
        end

        def execute_for_module( mod )

            $log.info( "###############################################################" )
            $log.info( "### Rebasing module #{mod.name}" )
            $log.info( "###############################################################" )

            if mod.checkedout?
                mod.fetch if @update
                mod.rebase
            else
                mod.init
            end
        end

    end


end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
build-tool-0.0.3 lib/kde-build/command/rebase.rb