/libgit2.cr

Crystal-lang binding to libgit2 with interface similar to rugged

Primary LanguageCrystalMIT LicenseMIT

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
    • #[]/#fetch
    • #size
    • #each
    • #for_line
  • Blob
    • #binary?
    • #content
    • #diff
    • #hashsig
    • #loc
    • #similarity
    • #size
    • #sloc
    • #text
    • from_buffer
  • Branch
    • #==
    • #name
    • #head?
    • #remote
    • #remote_name
    • #upstream
    • #upstream=
  • BranchCollection
    • #[]
    • #create
    • #delete
    • #each
    • #each_name
    • #exist?
    • #rename
  • Commit
    • .create
    • #amend
    • #author
    • #commiter
    • #diff
    • #diff_workdir
    • #epoch_time
    • #header
    • #header_field
    • #header_field?
    • #inspect
    • #message
    • #modify
    • #parent_ids
    • #parents
    • #summary
    • #time
    • #to_hash
    • #to_mbox
    • #trailers
    • #tree
    • #tree_id
  • Config
  • Credentials
  • Diff
    • Delta
      • #binary
      • #old_file
      • #new_file
      • #owner
      • #similarity
      • #status
      • #status_char
      • #added?
      • #copied?
      • #deleted?
      • #ignored?
      • #modified?
      • #renamed?
      • #typechange?
      • #untracked?
    • Hunk
      • #header
      • #hunk_index
      • #line_count
      • #new_lines
      • #new_start
      • #old_lines
      • #old_start
      • #delta
      • #each
      • #each_line
      • #lines
    • Line
      • #content
      • #content_offset
      • #line_origin
      • #new_lineno
      • #old_lineno
      • #addition?
      • #binary?
      • #context?
      • #deletion?
      • #eof_newline_added?
      • #eof_newline_removed?
      • #eof_no_newline?
      • #file_header?
      • #hunk_header?
    • #owner
    • #deltas
    • #each_delta
    • #each_line
    • #each_patch
    • #find_similar!
    • #merge!
    • #patch
    • #patches
    • #size
    • #sorted_icase?
    • #stat
    • #write_patch
  • Index
  • Object
    • .lookup
    • .rev_parse
    • .rev_parse_oid
    • #create_note
    • #notes
    • #oid
    • #read_raw
    • #remove_note
    • #type
  • OdbObjet
    • #data
    • #size
    • #oid
    • #type
  • Patch
  • Rebase
  • Reference
    • .valid_name?
    • #branch?
    • #canonical_name
    • #inspect
    • #log
    • #log?
    • #name
    • #peel
    • #remote?
    • #resolve
    • #tag?
    • #target
    • #target_id
    • #type
  • ReferenceCollection
    • #[]
    • #create
    • #delete
    • #each
    • #each_name
    • #exists?
    • #rename
    • #update
  • Remote
    • check_connection
    • fetch
    • fetch_refspecs
    • name
    • push
    • push_refspecs
    • push_url
    • push_url=
    • url
  • RemoteCollection
  • Repository
    • #open
    • #exists?
    • #bare?
    • #head
    • #head?
    • #lookup_commit
    • #lookup_tag
    • #lookup_tree
    • #lookup_blob
    • #branches
    • #ref
    • #refs
    • #ref_names
    • #tags
    • #walk
    • #attributes
    • lots of other methods
  • Settings
  • Submodule
  • SubmoduleCollection
  • Tag
    • #annotated?
    • #name
    • #message
    • #target_type
    • #target_oid
    • #tagger
  • TagCollection
    • #[]
    • #create
    • #create_annotation
    • #delete
    • #each
    • #each_name
  • Tree
    • #[]
    • #size
    • #cresize_recursiveate
    • #diff
    • #diff_workdir
    • #each
    • #each_blob
    • #each_tree
    • #merge
    • #path
    • #update
    • #walk
    • #walk_blobs
    • #walk_trees
  • RevWalk
    • #count
    • #each
    • #each_oid
    • #hide
    • #push
    • #push_head
    • #push_range
    • #reset
    • #simplify_first_parent
    • #sorting

Development

TODO: Write development instructions here

Contributing

  1. Fork it (https://github.com/smacker/libgit2/fork)
  2. Pull the repositories needed for the tests git submodule init && git submodule update
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Test the code crystal spec
  5. Commit your changes (git commit -am 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create a new Pull Request

Contributors

  • smacker Maxim Sukharev - creator, maintainer