class DetachBranch

detachedブランチ

Public Instance Methods

checkout() click to toggle source
# File lib/git/stash/sclib/branch.rb, line 113
def checkout
  Cmd::execQuiet "git checkout --detach \"#{@name}\""
end
commit(mode=CommitMode::ALL, _msg='', &onFail) click to toggle source
# File lib/git/stash/sclib/branch.rb, line 143
def commit(mode=CommitMode::ALL, _msg='', &onFail)
  msg = (_msg != '') ? "-m \"#{_msg}\"" : ''
  begin
    checkout
    puts "[#{@name}]: git commit #{mode} ..."
    Cmd::exec "git commit #{mode} #{msg}"
    Cmd::execQuiet "git update-ref refs/#{@name} HEAD"
  rescue => e
    onFail.call if block_given?
    raise e
  end
end
delete(deletedBranch='', dummy=false) click to toggle source
# File lib/git/stash/sclib/branch.rb, line 116
def delete(deletedBranch='', dummy=false)
  if deletedBranch != ''
    Cmd::execQuiet "git checkout \"#{deletedBranch}\""
  end
  revision = Cmd::revision @name
  Cmd::execQuiet "git update-ref -d refs/#{@name}"
  puts "Deleted detached branch #{@name} (was #{revision})"
end
rebase(upstream) click to toggle source
# File lib/git/stash/sclib/branch.rb, line 124
def rebase(upstream)
  puts "[#{@name}]: git rebase \"#{upstream}\""
  Cmd::execForRebase @name, "git rebase \"#{upstream}\" \"#{@name}\" --exec \"git update-ref refs/#{@name} HEAD\""
end
rebaseOnto(newbase, upstream) click to toggle source
# File lib/git/stash/sclib/branch.rb, line 128
def rebaseOnto(newbase, upstream)
  puts "[#{@name}]: git rebase --onto \"#{newbase}\" \"#{upstream}\" <SELF>"
  Cmd::execForRebase @name, "git rebase --onto \"#{newbase}\" \"#{upstream}\" \"#{@name}\" --exec \"git update-ref refs/#{@name} HEAD\""
end
reset(target='') click to toggle source
# File lib/git/stash/sclib/branch.rb, line 132
def reset(target='')
  if target != ''
    checkout
    puts "[#{@name}]: git reset \"#{target}\""
    Cmd::exec "git reset \"#{target}\""
    Cmd::execQuiet "git update-ref refs/#{@name} HEAD"
  else
    puts "[#{@name}]: git reset"
    Cmd::exec 'git reset'
  end
end

Private Instance Methods

exist?() click to toggle source
# File lib/git/stash/sclib/branch.rb, line 157
def exist?
  Cmd::branchRefExist? @name
end
make(target) click to toggle source
# File lib/git/stash/sclib/branch.rb, line 160
def make(target)
  Cmd::execQuiet "git update-ref refs/#{@name} \"#{target}\""
  puts "Maked detached branch #{@name} (was #{Cmd::revision @name})"
end