Sha256: 055d3d39e174ba27566049f64775eff20f02a753623958c90d34fef401a3b441

Contents?: true

Size: 944 Bytes

Versions: 35

Compression:

Stored size: 944 Bytes

Contents

require 'thor'
require 'gitx'
require 'gitx/cli/base_command'

module Gitx
  module Cli
    class UpdateCommand < BaseCommand
      desc 'update', 'Update the current branch with latest changes from the remote feature branch and master'
      def update
        say 'Updating '
        say "#{current_branch.name} ", :green
        say 'with latest changes from '
        say Gitx::BASE_BRANCH, :green

        update_branch(current_branch.name) if remote_branch_exists?(current_branch.name)
        update_branch(Gitx::BASE_BRANCH)
        run_cmd 'git push origin HEAD'
      end

      private

      def update_branch(branch)
        run_cmd "git pull origin #{branch}"
      rescue
        raise MergeError, 'Merge Conflict Occurred. Please fix merge conflict and rerun the update command'
      end

      def remote_branch_exists?(branch)
        repo.branches.each_name(:remote).include?("origin/#{branch}")
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
gitx-2.20.0 lib/gitx/cli/update_command.rb
gitx-2.20.0.ci.117.1 lib/gitx/cli/update_command.rb
gitx-2.19.0.ci.114.1 lib/gitx/cli/update_command.rb
gitx-2.19.0.ci.112.1 lib/gitx/cli/update_command.rb
gitx-2.19.0 lib/gitx/cli/update_command.rb
gitx-2.18.0.ci.106.1 lib/gitx/cli/update_command.rb
gitx-2.18.0 lib/gitx/cli/update_command.rb
gitx-2.18.0.pre.ci.104.1 lib/gitx/cli/update_command.rb
gitx-2.18.0.pre lib/gitx/cli/update_command.rb
gitx-2.17.0.pre.ci.101.1 lib/gitx/cli/update_command.rb
gitx-2.17.0.pre lib/gitx/cli/update_command.rb
gitx-2.17.0.pre.ci.98.1 lib/gitx/cli/update_command.rb
gitx-2.16.0.ci.91.1 lib/gitx/cli/update_command.rb
gitx-2.16.0 lib/gitx/cli/update_command.rb
gitx-2.16.0.ci.89.1 lib/gitx/cli/update_command.rb
gitx-2.16.0.pre.ci.88.1 lib/gitx/cli/update_command.rb
gitx-2.16.0.pre.ci.85.1 lib/gitx/cli/update_command.rb
gitx-2.16.0.pre lib/gitx/cli/update_command.rb
gitx-2.16.0.pre.ci.81.1 lib/gitx/cli/update_command.rb
gitx-2.15.0 lib/gitx/cli/update_command.rb