Rugged 0.22.1b1
Pre-releaseChanges since Rugged 0.21
- Add
Rugged::Tree#count_recursive
.
This counts all blobs in a tree, recursively, with an optional limit
to bail early. This allows asking things like: "Are there more
than 1 million files in this repo?" in a very performant way.
Fixes #464.
Andy Delcambre
- Update bundled libgit2 to 0.22.1.
See https://github.com/libgit2/libgit2/releases/tag/v0.22.0 and
https://github.com/libgit2/libgit2/releases/tag/v0.22.1 for a list
of fixed issues and new features.
Arthur Schreiber
- Add missing handling of libgit2 errors in
Rugged::BranchCollection#each
andRugged::BranchCollection#each_name
.
Fixes #457.
aiionx
- The
Rugged::Tree::Builder
API was changed to account for libgit2 changes.
When creating a new Rugged::Tree::Builder
instance through
Rugged::Tree::Builder.new
you have to pass a repository instance,
while Rugged::Tree::Builder#write
does not take any arguments anymore.
Vicent Martí
- Add alternative backend support (experimental).
Bare repositories can now be stored using an alternative backend.
Fixes #410.
Viktor Charypar
- Replace
Remote#rename!
withRemoteCollection#rename
.
This brings the RemoteCollection
more in line with the API of
ReferenceCollection
and BranchCollection
.
Arthur Schreiber
- Remove URL validation from
Remote#url=
,Remote#push_url=
,
RemoteCollection#create_anonymous
andRemoteCollection#create
,
as the underlying functiongit_remote_supported_url()
was removed
from libgit2.
Arthur Schreiber
- Add
Repository#merge_bases
.
This returns an array containing all merge bases between one or
multiple commits.
Arthur Schreiber
- Add submodule support.
Expose git submodules functionality through Rugged::Submodule
and
Rugged::SubmoduleCollection
.
Nikolai Vladimirov
- Add
Rugged::Walker#push_range
.
Evgeniy Sokovikov
- Implement
Rugged::Blob::HashSignature
andRugged::Blob#hashsig
.
Allows similarity detection of Rugged::Blob
instances against other blobs or
arbitrary strings.
Vicent Martí
- Add
Rugged::Repository#attributes
.
This method allows accessing the attributes for different path names as
specified by .gitattributes
files.
Vicent Martí
- Add
Rugged::TagCollection#create_annotation
.
This method allows the creation of a tag object, but without creating
a tag reference.
Charlie Somerville
- Add
Rugged::Repository#cherrypick
.
Arthur Schreiber
- Add
Rugged::Repository#descendant_of?
Jake Douglas
Rugged::Index#read_tree
now actually checks that the given object is a
Rugged::Tree
instance.
Fixes #401.
Andy Delcambre
- Add
Rugged::Repository#expand_oids
.
This allows expanding a list of shortened SHA1 strings, optionally restricting
the expansion to a specific object type.
Vicent Martí
- Add
Rugged::Remote#check_connection
.
This is useful if one needs to check if it is possible to fetch/push
from/to the remote.
Basically, it is analogue to git fetch --dry-run
and git push --dry-run
.
Dmitry Medvinsky
- Remove defunct
Rugged::Diff::Line#hunk
andRugged::Diff::Line#owner
.
Fixes #390.
Arthur Schreiber
- Remove
Rugged::Diff#tree
and changeRugged::Diff#owner
to return the
repository that theRugged::Diff
object belongs to.
We need to keep a reference from the Rugged::Diff
to the repository to
ensure that the underlying libgit2 data does not get freed accidentally.
Fixes #389.
Arthur Schreiber
- Add
#additions
and#deletions
toRugged::Patch
.
Mindaugas Mozūras