class Rfix::Branch::Main

Constants

KEY

Public Class Methods

call(repository: Rugged::Repository.discover) click to toggle source
Calls superclass method
# File lib/rfix/branch/main.rb, line 14
def self.call(repository: Rugged::Repository.discover)
  unless (name = repository.config[KEY])
    raise NoMainBranchSetError
  end

  super(repository: repository, name: name)
rescue NoMainBranchSetError
  if repository.head_detached?
    raise Error, "HEAD is detached"
  end

  repository.branches[repository.head.name].then do |branch|
    repository.config[KEY] = branch.name
  end

  retry
end