boof-grit 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/API.txt +101 -0
  2. data/History.txt +53 -0
  3. data/LICENSE +22 -0
  4. data/README.md +210 -0
  5. data/VERSION.yml +4 -0
  6. data/examples/ex_add_commit.rb +13 -0
  7. data/examples/ex_index.rb +14 -0
  8. data/lib/grit.rb +68 -0
  9. data/lib/grit/actor.rb +36 -0
  10. data/lib/grit/blame.rb +61 -0
  11. data/lib/grit/blob.rb +126 -0
  12. data/lib/grit/commit.rb +246 -0
  13. data/lib/grit/commit_stats.rb +128 -0
  14. data/lib/grit/config.rb +44 -0
  15. data/lib/grit/diff.rb +70 -0
  16. data/lib/grit/errors.rb +7 -0
  17. data/lib/grit/git-ruby.rb +186 -0
  18. data/lib/grit/git-ruby/commit_db.rb +52 -0
  19. data/lib/grit/git-ruby/file_index.rb +193 -0
  20. data/lib/grit/git-ruby/git_object.rb +350 -0
  21. data/lib/grit/git-ruby/internal/file_window.rb +58 -0
  22. data/lib/grit/git-ruby/internal/loose.rb +137 -0
  23. data/lib/grit/git-ruby/internal/pack.rb +382 -0
  24. data/lib/grit/git-ruby/internal/raw_object.rb +37 -0
  25. data/lib/grit/git-ruby/object.rb +325 -0
  26. data/lib/grit/git-ruby/repository.rb +740 -0
  27. data/lib/grit/git.rb +141 -0
  28. data/lib/grit/index.rb +122 -0
  29. data/lib/grit/lazy.rb +33 -0
  30. data/lib/grit/merge.rb +45 -0
  31. data/lib/grit/ref.rb +177 -0
  32. data/lib/grit/repo.rb +452 -0
  33. data/lib/grit/ruby1.9.rb +7 -0
  34. data/lib/grit/status.rb +151 -0
  35. data/lib/grit/submodule.rb +88 -0
  36. data/lib/grit/tag.rb +66 -0
  37. data/lib/grit/tree.rb +123 -0
  38. data/lib/open3_detach.rb +46 -0
  39. data/test/bench/benchmarks.rb +126 -0
  40. data/test/helper.rb +18 -0
  41. data/test/profile.rb +21 -0
  42. data/test/suite.rb +6 -0
  43. data/test/test_actor.rb +35 -0
  44. data/test/test_blame.rb +32 -0
  45. data/test/test_blame_tree.rb +33 -0
  46. data/test/test_blob.rb +83 -0
  47. data/test/test_commit.rb +207 -0
  48. data/test/test_commit_stats.rb +33 -0
  49. data/test/test_commit_write.rb +20 -0
  50. data/test/test_config.rb +58 -0
  51. data/test/test_diff.rb +18 -0
  52. data/test/test_file_index.rb +56 -0
  53. data/test/test_git.rb +94 -0
  54. data/test/test_grit.rb +32 -0
  55. data/test/test_head.rb +72 -0
  56. data/test/test_index_status.rb +40 -0
  57. data/test/test_merge.rb +17 -0
  58. data/test/test_raw.rb +16 -0
  59. data/test/test_real.rb +19 -0
  60. data/test/test_reality.rb +17 -0
  61. data/test/test_remote.rb +14 -0
  62. data/test/test_repo.rb +381 -0
  63. data/test/test_rubygit.rb +192 -0
  64. data/test/test_rubygit_alt.rb +40 -0
  65. data/test/test_rubygit_index.rb +76 -0
  66. data/test/test_rubygit_iv2.rb +28 -0
  67. data/test/test_submodule.rb +69 -0
  68. data/test/test_tag.rb +103 -0
  69. data/test/test_tree.rb +101 -0
  70. metadata +143 -0
data/test/test_tree.rb ADDED
@@ -0,0 +1,101 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+
3
+ class TestTree < Test::Unit::TestCase
4
+ def setup
5
+ @r = Repo.new(GRIT_REPO)
6
+ @t = Tree.allocate
7
+ end
8
+
9
+ # contents
10
+ def test_nosuch_tree
11
+ t = @r.tree('blahblah')
12
+ assert t.contents.is_a?(Array)
13
+ assert t.is_a?(Tree)
14
+ end
15
+
16
+ def test_contents_should_cache
17
+ Git.any_instance.expects(:ls_tree).returns(
18
+ fixture('ls_tree_a'),
19
+ fixture('ls_tree_b')
20
+ ).times(2)
21
+ tree = @r.tree('master')
22
+
23
+ child = tree.contents.last
24
+
25
+ child.contents
26
+ child.contents
27
+ end
28
+
29
+ # content_from_string
30
+
31
+ def test_content_from_string_tree_should_return_tree
32
+ text = fixture('ls_tree_a').split("\n").last
33
+
34
+ tree = @t.content_from_string(nil, text)
35
+
36
+ assert_equal Tree, tree.class
37
+ assert_equal "650fa3f0c17f1edb4ae53d8dcca4ac59d86e6c44", tree.id
38
+ assert_equal "040000", tree.mode
39
+ assert_equal "test", tree.name
40
+ end
41
+
42
+ def test_content_from_string_tree_should_return_blob
43
+ text = fixture('ls_tree_b').split("\n").first
44
+
45
+ tree = @t.content_from_string(nil, text)
46
+
47
+ assert_equal Blob, tree.class
48
+ assert_equal "aa94e396335d2957ca92606f909e53e7beaf3fbb", tree.id
49
+ assert_equal "100644", tree.mode
50
+ assert_equal "grit.rb", tree.name
51
+ end
52
+
53
+ def test_content_from_string_tree_should_return_submodule
54
+ text = fixture('ls_tree_submodule').split("\n").first
55
+
56
+ sm = @t.content_from_string(nil, text)
57
+
58
+ assert_kind_of Submodule, sm
59
+ end
60
+
61
+ def test_content_from_string_invalid_type_should_raise
62
+ assert_raise(RuntimeError) do
63
+ @t.content_from_string(nil, "040000 bogus 650fa3f0c17f1edb4ae53d8dcca4ac59d86e6c44 test")
64
+ end
65
+ end
66
+
67
+ # /
68
+
69
+ def test_slash
70
+ Git.any_instance.expects(:ls_tree).returns(
71
+ fixture('ls_tree_a')
72
+ )
73
+ tree = @r.tree('master')
74
+
75
+ assert_equal 'aa06ba24b4e3f463b3c4a85469d0fb9e5b421cf8', (tree/'lib').id
76
+ assert_equal '8b1e02c0fb554eed2ce2ef737a68bb369d7527df', (tree/'README.txt').id
77
+ end
78
+
79
+ def test_slash_with_commits
80
+ Git.any_instance.expects(:ls_tree).returns(
81
+ fixture('ls_tree_commit')
82
+ )
83
+ tree = @r.tree('master')
84
+
85
+ assert_equal 'd35b34c6e931b9da8f6941007a92c9c9a9b0141a', (tree/'bar').id
86
+ assert_equal '2afb47bcedf21663580d5e6d2f406f08f3f65f19', (tree/'foo').id
87
+ assert_equal 'f623ee576a09ca491c4a27e48c0dfe04be5f4a2e', (tree/'baz').id
88
+ end
89
+
90
+ # inspect
91
+
92
+ def test_inspect
93
+ @t = Tree.create(@r, :id => 'abc')
94
+ assert_equal %Q{#<Grit::Tree "abc">}, @t.inspect
95
+ end
96
+
97
+ def test_basename
98
+ @t = Tree.create(@r, :name => 'foo/bar')
99
+ assert_equal "bar", @t.basename
100
+ end
101
+ end
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: boof-grit
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.2
5
+ platform: ruby
6
+ authors:
7
+ - Tom Preston-Werner
8
+ - Scott Chacon
9
+ - "Florian A\xC3\x9Fmann"
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2009-08-26 00:00:00 -07:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: mime-types
19
+ type: :runtime
20
+ version_requirement:
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: "1.15"
26
+ version:
27
+ - !ruby/object:Gem::Dependency
28
+ name: diff-lcs
29
+ type: :runtime
30
+ version_requirement:
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 1.1.2
36
+ version:
37
+ description: This fork of Grit is a Ruby library for extracting from and manipulating information of a git repository in an object oriented manner.
38
+ email: madbang@web.de
39
+ executables: []
40
+
41
+ extensions: []
42
+
43
+ extra_rdoc_files:
44
+ - LICENSE
45
+ - README.md
46
+ files:
47
+ - API.txt
48
+ - History.txt
49
+ - README.md
50
+ - VERSION.yml
51
+ - lib/grit.rb
52
+ - lib/grit/actor.rb
53
+ - lib/grit/blame.rb
54
+ - lib/grit/blob.rb
55
+ - lib/grit/commit.rb
56
+ - lib/grit/commit_stats.rb
57
+ - lib/grit/config.rb
58
+ - lib/grit/diff.rb
59
+ - lib/grit/errors.rb
60
+ - lib/grit/git-ruby.rb
61
+ - lib/grit/git-ruby/commit_db.rb
62
+ - lib/grit/git-ruby/file_index.rb
63
+ - lib/grit/git-ruby/git_object.rb
64
+ - lib/grit/git-ruby/internal/file_window.rb
65
+ - lib/grit/git-ruby/internal/loose.rb
66
+ - lib/grit/git-ruby/internal/pack.rb
67
+ - lib/grit/git-ruby/internal/raw_object.rb
68
+ - lib/grit/git-ruby/object.rb
69
+ - lib/grit/git-ruby/repository.rb
70
+ - lib/grit/git.rb
71
+ - lib/grit/index.rb
72
+ - lib/grit/lazy.rb
73
+ - lib/grit/merge.rb
74
+ - lib/grit/ref.rb
75
+ - lib/grit/repo.rb
76
+ - lib/grit/ruby1.9.rb
77
+ - lib/grit/status.rb
78
+ - lib/grit/submodule.rb
79
+ - lib/grit/tag.rb
80
+ - lib/grit/tree.rb
81
+ - lib/open3_detach.rb
82
+ - LICENSE
83
+ has_rdoc: false
84
+ homepage: http://github.com/boof/grit
85
+ licenses:
86
+ post_install_message:
87
+ rdoc_options:
88
+ - --charset=UTF-8
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: "0"
96
+ version:
97
+ required_rubygems_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: "0"
102
+ version:
103
+ requirements: []
104
+
105
+ rubyforge_project: grit
106
+ rubygems_version: 1.3.5
107
+ signing_key:
108
+ specification_version: 3
109
+ summary: Grit is a Ruby library for extracting information from a git repository in an object oriented manner.
110
+ test_files:
111
+ - test/bench/benchmarks.rb
112
+ - test/helper.rb
113
+ - test/profile.rb
114
+ - test/suite.rb
115
+ - test/test_actor.rb
116
+ - test/test_blame.rb
117
+ - test/test_blame_tree.rb
118
+ - test/test_blob.rb
119
+ - test/test_commit.rb
120
+ - test/test_commit_stats.rb
121
+ - test/test_commit_write.rb
122
+ - test/test_config.rb
123
+ - test/test_diff.rb
124
+ - test/test_file_index.rb
125
+ - test/test_git.rb
126
+ - test/test_grit.rb
127
+ - test/test_head.rb
128
+ - test/test_index_status.rb
129
+ - test/test_merge.rb
130
+ - test/test_raw.rb
131
+ - test/test_real.rb
132
+ - test/test_reality.rb
133
+ - test/test_remote.rb
134
+ - test/test_repo.rb
135
+ - test/test_rubygit.rb
136
+ - test/test_rubygit_alt.rb
137
+ - test/test_rubygit_index.rb
138
+ - test/test_rubygit_iv2.rb
139
+ - test/test_submodule.rb
140
+ - test/test_tag.rb
141
+ - test/test_tree.rb
142
+ - examples/ex_add_commit.rb
143
+ - examples/ex_index.rb