module GGSM::Delete

Public Instance Methods

delete_branch(all, branch, remote) click to toggle source
# File lib/ggsm/command/delete.rb, line 21
def delete_branch(all, branch, remote)
  if branch == get_current_branch
    puts "无法删除当前所在分支:#{branch},请switch其他分支后再执行\"ggsm delete\"".red
    exit 0
  end

  if all
    delete_local_branch(branch)
    delete_remote_branch(branch)
  elsif remote
    delete_remote_branch(branch)
  else
    delete_local_branch(branch)
  end
end
delete_flow(branch, remote, all) click to toggle source
# File lib/ggsm/command/delete.rb, line 9
def delete_flow(branch, remote, all)
  check_submodule

  puts '==> 进入主工程:'.yellow

  delete_branch(all, branch, remote)

  foreach_module {
    delete_branch(all, branch, remote)
  }
end
delete_local_branch(branch) click to toggle source
# File lib/ggsm/command/delete.rb, line 37
def delete_local_branch(branch)
  if `git branch | grep -e '\s|*#{branch}$'`.strip == ''
    puts "warning: branch '#{branch}' not found"
  else
    info = `git branch -D #{branch}`
    if info.strip != ''
      puts "✓  #{info}"
    end
  end
end
delete_remote_branch(branch) click to toggle source
# File lib/ggsm/command/delete.rb, line 48
def delete_remote_branch(branch)
  if `git branch -r | grep -e '\s|*origin/#{branch}$'`.strip == ''
    puts "warning: remote branch '#{branch}' not found"
  else
    system "git push origin -d #{branch}"
    `git fetch -p origin`
  end
end