Skip to content

0.9.0

Choose a tag to compare

@zombiezen zombiezen released this 27 Jan 05:56
· 41 commits to main since this release

Version 0.9 adds a new package for interacting with remote Git repositories and expands the packfile package to handle random access.

Added

  • A new packfile/client package enables downloading commits from and uploading commits to remote Git repositories. (#7)
  • The packfile.DeltaReader type is a flexible way of expanding a deltified object from a packfile.
  • The packfile.Undeltifier type decompresses objects from packfiles.
  • The packfile.Index type stores a packfile object ID lookup table that is nteroperable with Git packfile index files. (#12)
  • packfile.ReadHeader enables random access to a packfile.
  • *object.Commit and *object.Tag now implement BinaryMarshaler and BinaryUnmarshaler in addition to TextMarshaler and TextUnmarshaler. This is for symmetry with object.Tree.
  • object.Prefix allows marshaling and unmarshaling the "blob 42\x00" prefix used as part of the Git object hash.
  • The new *Git.Clone and *Git.CloneBare methods clone repositories.
  • git.URLFromPath converts a filesystem path into a URL.

Changed

  • The githash package is now the home for the Ref type. This permits ref string manipulation without depending on the larger git package. git.Ref is now a type alias for githash.Ref.

Removed

  • Removed the packfile.ApplyDelta function. The packfile.DeltaReader type performs the same function but permits more control over how it's used.

Fixed

  • Ref.IsValid produces less false positives than before. (#16)