Documentation
¶
Overview ¶
Package bisect implements binary search through Fossil commit history. It stores session state in the checkout DB's vvar table and uses BFS path-finding to locate the midpoint between known-good and known-bad commits.
Index ¶
- Variables
- type ListEntry
- type Session
- func (s *Session) List(currentRID libfossil.FslID) ([]ListEntry, error)
- func (s *Session) MarkBad(rid libfossil.FslID) error
- func (s *Session) MarkGood(rid libfossil.FslID) error
- func (s *Session) Next() (libfossil.FslID, error)
- func (s *Session) Reset()
- func (s *Session) Skip(rid libfossil.FslID) error
- func (s *Session) Status() StatusInfo
- type StatusInfo
Constants ¶
This section is empty.
Variables ¶
var ErrBisectComplete = errors.New("bisect complete")
ErrBisectComplete is returned by Next when the search has converged.
Functions ¶
This section is empty.
Types ¶
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session manages a bisect operation, persisting state in the vvar table.
func NewSession ¶
NewSession creates a new bisect session backed by the given checkout DB.
func (*Session) Next ¶
Next returns the midpoint commit to test next. If the bisect has converged, it returns ErrBisectComplete with the bad RID embedded in the error message.
func (*Session) Reset ¶
func (s *Session) Reset()
Reset clears all bisect state from the vvar table.
func (*Session) Status ¶
func (s *Session) Status() StatusInfo
Status returns information about the current bisect session.