-
Add
Rugged::Repository#checkout_index.This allows to perform checkout from a given GIT index. It might be handy in case of manual merge conflicts resolution with user intervention.
Dmytro Milinevskyy
-
Add accessors for the Repository ident.
Added
Repository#identandRepository#ident=to read and set the identity that is used when writing reflog entries.Arthur Schreiber
-
Rugged::Remoteinstances are now immutable.-
Remote#clear_refspecsandRemote#savewere removed without replacement. -
Remote#url=andRemote#push_url=were removed and replaced byRemoteCollection#set_urlandRemoteCollection#set_push_url. -
Remote#add_pushandRemote#add_fetchwere removed and replaced byRemoteCollection#add_push_refspecandRemoteCollection#add_fetch_refspec.
Arthur Schreiber
-
-
Update bundled libgit2 to 9042693e283f65d9afb4906ed693a862a250664b.
Arthur Schreiber
-
Updated the API of reflog modifying methods.
This removes both the optional
:messageas well as:signatureoptions from the following methods:BranchCollection#create,BranchCollection#move,BranchCollection#renameReferenceCollection#create,ReferenceCollection#renameRemote#pushRepository#reset
Additionally, the
:signatureoption fromRemote#fetchwas removed as well.The reflog message is now automatically generated and committed with the the identity that is set in the Repository's configuration.
Arthur Schreiber
-
The
:safe_createflag was removed fromRepository#checkout_tree.You can use
:createin combination with:recreate_missinginstead.Arthur Schreiber
-
Update bundled libgit2 to 0.22.2.
See https://github.com/libgit2/libgit2/releases/tag/v0.22.0, https://github.com/libgit2/libgit2/releases/tag/v0.22.1 and https://github.com/libgit2/libgit2/releases/tag/v0.22.2 for a list of fixed issues and new features.
Arthur Schreiber
-
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
-
Add missing handling of libgit2 errors in
Rugged::BranchCollection#eachandRugged::BranchCollection#each_name.Fixes #457.
aiionx
-
The
Rugged::Tree::BuilderAPI was changed to account for libgit2 changes.When creating a new
Rugged::Tree::Builderinstance throughRugged::Tree::Builder.newyou have to pass a repository instance, whileRugged::Tree::Builder#writedoes 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
RemoteCollectionmore in line with the API ofReferenceCollectionandBranchCollection.Arthur Schreiber
-
Remove URL validation from
Remote#url=,Remote#push_url=,RemoteCollection#create_anonymousandRemoteCollection#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::SubmoduleandRugged::SubmoduleCollection.Nikolai Vladimirov
-
Add
Rugged::Walker#push_range.Evgeniy Sokovikov
-
Implement
Rugged::Blob::HashSignatureandRugged::Blob#hashsig.Allows similarity detection of
Rugged::Blobinstances 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
.gitattributesfiles.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_treenow actually checks that the given object is aRugged::Treeinstance.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-runandgit push --dry-run.Dmitry Medvinsky
-
Remove defunct
Rugged::Diff::Line#hunkandRugged::Diff::Line#owner.Fixes #390.
Arthur Schreiber
-
Remove
Rugged::Diff#treeand changeRugged::Diff#ownerto return the repository that theRugged::Diffobject belongs to.We need to keep a reference from the
Rugged::Diffto the repository to ensure that the underlying libgit2 data does not get freed accidentally.Fixes #389.
Arthur Schreiber
-
Add
#additionsand#deletionstoRugged::Patch.Mindaugas Mozūras
-
Update bundled libgit2 to 0.21.4.
See https://github.com/libgit2/libgit2/releases/tag/v0.21.4 for a list of fixed issues.
Arthur Schreiber
-
Update bundled libgit2 to 0.21.3.
See https://github.com/libgit2/libgit2/releases/tag/v0.21.3 for a list of fixed issues.
Arthur Schreiber
-
Update bundled libgit2 to 0.21.2 (from 0.21.0).
See https://github.com/libgit2/libgit2/releases/tag/v0.21.1 and https://github.com/libgit2/libgit2/releases/tag/v0.21.2 for a list of fixed issues.
Arthur Schreiber