git
libgit2.cr
Crystal-lang binding to libgit2 with inteface similar to rugged.
Installation
Add this to your application's shard.yml
:
dependencies:
git:
github: smacker/libgit2.cr
Usage
require "git"
TODO: Write usage instructions here
STATUS
- [ ] Documentation
- [ ] Backend
- [ ] Blame
- [x]
#[]/#fetch
- [x]
#size
- [x]
#each
- [ ]
#for_line
- [x]
- [ ] Blob
- [x]
#binary?
- [x]
#content
- [ ]
#diff
- [ ]
#hashsig
- [x]
#loc
- [ ]
#similarity
- [x]
#size
- [x]
#sloc
- [x]
#text
- [x]
from_buffer
- [x]
- [ ] Branch
- [ ]
#==
- [x]
#name
- [x]
#head?
- [ ]
#remote
- [ ]
#remote_name
- [ ]
#upstream
- [ ]
#upstream=
- [ ]
- [ ] BranchCollection
- [x]
#[]
- [x]
#create
- [ ]
#delete
- [x]
#each
- [x]
#each_name
- [ ]
#exist?
- [ ]
#rename
- [x]
- [ ] Commit
- [x]
.create
- [x]
#amend
- [x]
#author
- [x]
#commiter
- [x]
#diff
- [ ]
#diff_workdir
- [x]
#epoch_time
- [ ]
#header
- [ ]
#header_field
- [ ]
#header_field?
- [ ]
#inspect
- [x]
#message
- [ ]
#modify
- [ ]
#parent_ids
- [x]
#parents
- [ ]
#summary
- [x]
#time
- [ ]
#to_hash
- [ ]
#to_mbox
- [ ]
#trailers
- [x]
#tree
- [ ]
#tree_id
- [x]
- [ ] Config
- [ ] Credentials
- [ ] Diff
- [ ] Delta
- [ ]
#binary
- [x]
#old_file
- [x]
#new_file
- [ ]
#owner
- [ ]
#similarity
- [x]
#status
- [ ]
#status_char
- [x]
#added?
- [ ]
#copied?
- [x]
#deleted?
- [ ]
#ignored?
- [x]
#modified?
- [ ]
#renamed?
- [ ]
#typechange?
- [ ]
#untracked?
- [ ]
- [ ] Hunk
- [ ]
#header
- [ ]
#hunk_index
- [ ]
#line_count
- [x]
#new_lines
- [x]
#new_start
- [x]
#old_lines
- [x]
#old_start
- [ ]
#delta
- [ ]
#each
- [ ]
#each_line
- [x]
#lines
- [ ]
- [ ] Line
- [x]
#content
- [x]
#content_offset
- [ ]
#line_origin
- [x]
#new_lineno
- [x]
#old_lineno
- [x]
#addition?
- [ ]
#binary?
- [x]
#context?
- [x]
#deletion?
- [ ]
#eof_newline_added?
- [ ]
#eof_newline_removed?
- [ ]
#eof_no_newline?
- [ ]
#file_header?
- [ ]
#hunk_header?
- [x]
- [ ]
#owner
- [x]
#deltas
- [x]
#each_delta
- [ ]
#each_line
- [x]
#each_patch
- [x]
#find_similar!
- [ ]
#merge!
- [ ]
#patch
- [x]
#patches
- [x]
#size
- [ ]
#sorted_icase?
- [ ]
#stat
- [ ]
#write_patch
- [ ] Delta
- [ ] Index
- [ ] Object
- [x]
.lookup
- [ ]
.rev_parse
- [ ]
.rev_parse_oid
- [ ]
#create_note
- [ ]
#notes
- [x]
#oid
- [x]
#read_raw
- [ ]
#remove_note
- [x]
#type
- [x]
- [ ] OdbObjet
- [x]
#data
- [ ]
#size
- [x]
#oid
- [ ]
#type
- [x]
- [ ] Patch
- [ ] Rebase
- [ ] Reference
- [x]
.valid_name?
- [x]
#branch?
- [x]
#canonical_name
- [ ]
#inspect
- [x]
#log
- [x]
#log?
- [x]
#name
- [x]
#peel
- [x]
#remote?
- [x]
#resolve
- [x]
#tag?
- [x]
#target
- [x]
#target_id
- [x]
#type
- [x]
- [ ] ReferenceCollection
- [x]
#[]
- [x]
#create
- [ ]
#delete
- [x]
#each
- [x]
#each_name
- [x]
#exists?
- [ ]
#rename
- [ ]
#update
- [x]
- [ ] Remote
- [ ]
check_connection
- [ ]
fetch
- [ ]
fetch_refspecs
- [x]
name
- [ ]
push
- [ ]
push_refspecs
- [x]
push_url
- [ ]
push_url=
- [x]
url
- [ ]
- [ ] RemoteCollection
- [ ] Repository
- [x]
#open
- [x]
#exists?
- [x]
#bare?
- [x]
#head
- [x]
#head?
- [x]
#lookup_commit
- [x]
#lookup_tag
- [x]
#lookup_tree
- [x]
#lookup_blob
- [x]
#branches
- [x]
#ref
- [x]
#refs
- [x]
#ref_names
- [x]
#tags
- [x]
#walk
- [x]
#attributes
- [ ] lots of other methods
- [x]
- [ ] Settings
- [ ] Submodule
- [ ] SubmoduleCollection
- [ ] Tag
- [ ]
#annotated?
- [x]
#name
- [x]
#message
- [x]
#target_type
- [x]
#target_oid
- [x]
#tagger
- [ ]
- TagCollection
- [x]
#[]
- [ ]
#create
- [ ]
#create_annotation
- [ ]
#delete
- [x]
#each
- [ ]
#each_name
- [x]
- [ ] Tree
- [x]
#[]
- [x]
#size
- [x]
#cresize_recursiveate
- [x]
#diff
- [ ]
#diff_workdir
- [x]
#each
- [x]
#each_blob
- [x]
#each_tree
- [ ]
#merge
- [ ]
#path
- [ ]
#update
- [x]
#walk
- [x]
#walk_blobs
- [x]
#walk_trees
- [x]
- [ ] RevWalk
- [ ]
#count
- [x]
#each
- [ ]
#each_oid
- [ ]
#hide
- [x]
#push
- [x]
#push_head
- [ ]
#push_range
- [ ]
#reset
- [x]
#simplify_first_parent
- [x]
#sorting
- [ ]
Development
TODO: Write development instructions here
Contributing
- Fork it (https://github.com/smacker/libgit2/fork)
- Pull the repositories needed for the tests
git submodule init && git submodule update
- Create your feature branch (
git checkout -b my-new-feature
) - Test the code
crystal spec
- Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- smacker Maxim Sukharev - creator, maintainer