Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: no_raw_git
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 36 lines (25 sloc) 1.556 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
This is a listing of all the places I can find that Grit actually does a
'git' system call. My goal is to add native Ruby versions of all of them.

Completed
===========================
** lib/grit/blob.rb:36: @size ||= @repo.git.cat_file({:s => true}, id).chomp.to_i
** lib/grit/blob.rb:43: @data ||= @repo.git.cat_file({:p => true}, id)
** lib/grit/tree.rb:16: output = repo.git.ls_tree({}, treeish, *paths)



lib/grit/commit.rb:74: repo.git.rev_list({}, ref).strip.split("\n").size
lib/grit/commit.rb:92: output = repo.git.rev_list(actual_options, ref)
lib/grit/commit.rb:94: output = repo.git.rev_list(actual_options.merge(:all => true))


Next to do
===========================
lib/grit/tag.rb:28: output = repo.git.for_each_ref(actual_options, "refs/tags")
lib/grit/head.rb:37: output = repo.git.for_each_ref(actual_options, HEAD_PREFIX)
lib/grit/head.rb:50: self.new($1, repo.git.rev_parse(options, 'HEAD'))
lib/grit/config.rb:9: @repo.git.config({}, key, value)
lib/grit/config.rb:40: @repo.git.config(:list => true).split(/\n/)


May not be fast enough
=============================
lib/grit/blob.rb:58: data = repo.git.blame({:p => true}, commit, '--', file)


More Difficult
===========================
lib/grit/commit.rb:39: @id_abbrev ||= @repo.git.rev_parse({:short => true}, self.id).chomp
lib/grit/commit.rb:150: text = repo.git.diff({:full_index => true}, *paths)
lib/grit/commit.rb:156: diff = @repo.git.show({:full_index => true, :pretty => 'raw'}, @id)
Something went wrong with that request. Please try again.