Sha256: a67a191b175394427aceecb7469986ba1832c360d88aa2cff930c78b1287a517

Contents?: true

Size: 1.14 KB

Versions: 7

Compression:

Stored size: 1.14 KB

Contents

module GGSM
  module Hooks
    def check_hooks
      if update_hooks
        install_billow
        subs = get_submodule
        subs.each do |sub|
          cp_hooks(sub)
        end
      end
    end

    def install_billow
      path = `gem which ggsm`.split('/ggsm.rb')[0]
      `sudo sh #{path}/res/install_billow.sh`
    end

    def update_hooks
      version = `ggsm v`
      ggsm_path = '.git/ggsm'
      unless File.exist?(ggsm_path)
        Dir.mkdir(ggsm_path)
      end

      config_path = "#{ggsm_path}/VERSION"
      target_path = '.git/hooks'

      if !File.exist?(config_path) || version != IO.read(config_path)
        cp_files(target_path)

        file = File.new(config_path, 'w')
        file << version
        file.close

        puts '已更新Hooks'.blue
        return true
      end
      false
    end

    def cp_hooks(sub)
      target_path = ".git/modules/#{sub}/hooks"
      cp_files(target_path)
    end

    def cp_files(target_path)
      path = `gem which ggsm`.split('/ggsm.rb')[0]
      `cp #{path}/ggsm/hook/commit-msg #{target_path}/commit-msg`
      `cp #{path}/ggsm/hook/pre-commit  #{target_path}/pre-commit`
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ggsm-1.9.6 lib/ggsm/hook/hooks.rb
ggsm-1.9.5 lib/ggsm/hook/hooks.rb
ggsm-1.9.4 lib/ggsm/hook/hooks.rb
ggsm-1.9.3 lib/ggsm/hook/hooks.rb
ggsm-1.9.2 lib/ggsm/hook/hooks.rb
ggsm-1.9.1 lib/ggsm/hook/hooks.rb
ggsm-1.9.0 lib/ggsm/hook/hooks.rb