Sha256: 4f131f2644681c880cd5b614bd448d24ffaf58cbb1883756f2ca0e5fb3e037af

Contents?: true

Size: 1.71 KB

Versions: 1

Compression:

Stored size: 1.71 KB

Contents

require 'thor'
require_relative 'ggsm/version'
require_relative 'ggsm/flow/start'
require_relative 'ggsm/flow/update'
require_relative 'ggsm/flow/sync'
require_relative 'ggsm/flow/switch'
require_relative 'ggsm/flow/delete'
require_relative 'ggsm/flow/foreach'
require_relative 'ggsm/flow/merge'
require_relative 'ggsm/flow/finish'

module GGSM
  class Cli < Thor
    include Start
    include Update
    include Sync
    include Switch
    include Delete
    include Foreach
    include Merge
    include Finish

    desc 'start <branch> [<commit>] [<origin>]', '检出新分支,新功能、修bug务必使用该命令'
    def start(branch, action='')
      start_flow(branch, action)
    end

    desc 'switch <branch>', '切换分支'
    def switch(branch)
      switch_flow(branch)
    end

    desc 'update', '更新当前commit对应的子模块commit'
    def update
      update_flow
    end

    desc 'sync', '当前分支同步(拉取)远程代码'
    def sync
      sync_flow
    end

    desc 'delete <branch> [-r|--remote] [-a|--all]', '删除指定分支'
    option :remote, :default => false, :type => :boolean, aliases: '-r'
    option :all, :default => false, :type => :boolean, aliases: '-a'
    def delete(branch)
      remote = options[:remote]
      all = options[:all]
      delete_flow(branch, remote, all)
    end

    desc 'foreach [<commands>...]', '全模块执行git命令(foreach后跟git命令)'
    def foreach(*commands)
      foreach_flow(*commands)
    end

    desc 'merge [<branch>]', 'Merge,开发完成后执行'
    def merge(branch='origin/dev')
      merge_flow(branch)
    end

    desc 'finish', '完成开发,ggsm merge并解决冲突后执行'
    def finish
      finish_flow
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ggsm-1.2.0 lib/ggsm.rb