I realize rugged probably won t be as fast as git log but currently the performance for the log on a particular file is horrible.
Rugged vs ruby git.
I d like to use rugged to iterate through all the commits on a particular branch from the oldest first to the newest last.
Rugged is a library for accessing libgit2 in ruby.
Optionally you can pass a list of alternate object folders or an options hash.
The collection of libraries and resources is based on the awesome ruby list and direct contributions here.
Generated by cgit v0 10 2 at 2020 10 03 06 24 47 gmt.
Maybe i m better off just running git log reverse and parsing the results but as long as there s this nice ruby library for working with git i figure i ll use it.
This tip demonstrates how to use rugged to commit a new file to git and leave behind a clean working directory.
This is faster than rugged repository new as it won t attempt to perform any git directory discovery won t try to load the config options to determine whether the repository is bare and won t try to load the workdir.
It s designed to be fast and portable.
It gives you the speed and portability of libgit2 with the beauty of the ruby language.
7 8 5 8 l4 git cop vs rugged ruby bindings to libgit2.
Compare on your machine for me in a ruby benchmark 1000 times i m seeing differences between code to be double the time in rugged as shelling out to git log.
Contribute to siman man rugged examples development by creating an account on github.
Rugged is a library that provides ruby api bindings for libgit2 a c implementation of the git operations rugged is quickly replacing grit and similar ruby libraries because it performs operations on the git repository using direct api calls instead of calling git as a system command.
The legacy rugged implementation for git calls may be faster than the gitaly rpc due to n 1 gitaly calls and other reasons.
See the issue for more details.
Open a bare git repository at path and return a repository object representing it.
I d like to examine the sha1 and the comment for each.
Libgit2 bindings in ruby.
Until gitlab has eliminated most of these inefficiencies or the use of nfs is discontinued for git data rugged implementations of some of the most commonly used rpcs can be enabled via.