githug 0.2.11 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/LICENCE.txt +22 -0
  2. data/README.md +39 -30
  3. data/levels/add.rb +2 -1
  4. data/levels/bisect.rb +1 -1
  5. data/levels/blame/config.rb +1 -1
  6. data/levels/branch_at.rb +1 -1
  7. data/levels/commit_amend.rb +1 -1
  8. data/levels/config.rb +2 -2
  9. data/levels/ignore.rb +5 -1
  10. data/levels/log.rb +2 -2
  11. data/levels/merge.rb +1 -1
  12. data/levels/merge_squash.rb +4 -4
  13. data/levels/rm.rb +1 -1
  14. data/levels/stash/.githug/COMMIT_EDITMSG +1 -0
  15. data/levels/stash/.githug/HEAD +1 -0
  16. data/levels/stash/.githug/config +7 -0
  17. data/levels/stash/.githug/description +1 -0
  18. data/levels/stash/.githug/hooks/applypatch-msg.sample +15 -0
  19. data/levels/stash/.githug/hooks/commit-msg.sample +24 -0
  20. data/levels/stash/.githug/hooks/post-update.sample +8 -0
  21. data/levels/stash/.githug/hooks/pre-applypatch.sample +14 -0
  22. data/levels/stash/.githug/hooks/pre-commit.sample +50 -0
  23. data/levels/stash/.githug/hooks/pre-rebase.sample +169 -0
  24. data/levels/stash/.githug/hooks/prepare-commit-msg.sample +36 -0
  25. data/levels/stash/.githug/hooks/update.sample +128 -0
  26. data/levels/stash/.githug/index +0 -0
  27. data/levels/stash/.githug/info/exclude +6 -0
  28. data/levels/stash/.githug/logs/HEAD +1 -0
  29. data/levels/stash/.githug/logs/refs/heads/master +1 -0
  30. data/levels/stash/.githug/objects/02/060592b31c9e12ffe1b282addf9537c5ef8e1f +0 -0
  31. data/levels/stash/.githug/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
  32. data/levels/stash/.githug/objects/7f/82d7e4fba66980af16da540e18d8955518cdc2 +0 -0
  33. data/levels/stash/.githug/objects/85/e560abcd7e3255dcd91982476e432f4d3d1b51 +0 -0
  34. data/levels/stash/.githug/refs/heads/master +1 -0
  35. data/levels/stash/lyrics.txt +13 -0
  36. data/levels/stash.rb +16 -0
  37. data/levels/status.rb +1 -1
  38. data/lib/githug/cli.rb +2 -2
  39. data/lib/githug/game.rb +1 -1
  40. data/lib/githug/level.rb +14 -12
  41. data/lib/githug/profile.rb +1 -1
  42. data/lib/githug/repository.rb +3 -3
  43. data/lib/githug/ui.rb +6 -15
  44. data/lib/githug/version.rb +1 -1
  45. data/spec/githug/cli_spec.rb +11 -11
  46. data/spec/githug/game_spec.rb +6 -6
  47. data/spec/githug/level_spec.rb +17 -17
  48. data/spec/githug/profile_spec.rb +4 -4
  49. data/spec/githug/repository_spec.rb +14 -14
  50. data/spec/githug/ui_spec.rb +13 -11
  51. data/spec/githug_spec.rb +242 -0
  52. metadata +93 -55
@@ -1,30 +1,30 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Githug::Repository do
4
-
4
+
5
5
  before(:each) do
6
6
  @grit = mock
7
- Grit::Repo.stub(:new).and_return(@grit)
7
+ Grit::Repo.stub(:new).and_return(@grit)
8
8
  @repository = Githug::Repository.new
9
9
  @repository.stub(:create_gitignore)
10
10
  end
11
11
 
12
12
  describe "initialize" do
13
-
13
+
14
14
  it "should call grit on initialize" do
15
- Grit::Repo.should_receive(:new).with(".").and_return(@grit)
15
+ Grit::Repo.should_receive(:new).with(".").and_return(@grit)
16
16
  repo = Githug::Repository.new
17
17
  repo.grit.should equal(@grit)
18
18
  end
19
19
 
20
20
  it "should contain a nil grit if the repo is invalid" do
21
- Grit::Repo.should_receive(:new).and_raise(Grit::InvalidGitRepositoryError)
21
+ Grit::Repo.should_receive(:new).and_raise(Grit::InvalidGitRepositoryError)
22
22
  repo = Githug::Repository.new
23
23
  repo.grit.should equal(nil)
24
24
  end
25
25
 
26
26
  it "should initialize with a location" do
27
- Grit::Repo.should_receive(:new).with("test").and_return(@grit)
27
+ Grit::Repo.should_receive(:new).with("test").and_return(@grit)
28
28
  repo = Githug::Repository.new("test")
29
29
  end
30
30
 
@@ -33,7 +33,7 @@ describe Githug::Repository do
33
33
  describe "reset" do
34
34
 
35
35
  before(:each) do
36
- FileUtils.stub(:rm_rf)
36
+ FileUtils.stub(:rm_rf)
37
37
  end
38
38
 
39
39
  it "should do nothing if the current directory isn't git_hug" do
@@ -41,7 +41,7 @@ describe Githug::Repository do
41
41
  FileUtils.should_not_receive(:rm_rf)
42
42
  @repository.reset
43
43
  end
44
-
44
+
45
45
  it "should remove all the files except .gitignore and .profile.yml" do
46
46
  Dir.stub(:pwd).and_return("/tmp/git_hug")
47
47
  Dir.stub(:entries).and_return([".profile.yml", ".gitignore", "..", ".", "README", ".git"])
@@ -55,7 +55,7 @@ describe Githug::Repository do
55
55
  describe "create_gitignore" do
56
56
  it "should create a gitignore" do
57
57
  @repository.unstub(:create_gitignore)
58
- File.stub(:exists?).and_return(true)
58
+ File.stub(:exists?).and_return(true)
59
59
  Dir.should_receive(:chdir).with("git_hug")
60
60
  File.should_receive(:open).with(".gitignore", "w")
61
61
  @repository.create_gitignore
@@ -64,18 +64,18 @@ describe Githug::Repository do
64
64
 
65
65
  describe "valid?" do
66
66
  it "should be valid if grit exists" do
67
- @repository.should be_valid
67
+ @repository.should be_valid
68
68
  end
69
69
 
70
70
  it "should not be valid if grit does not exist" do
71
- @repository.instance_variable_set("@grit", nil)
71
+ @repository.instance_variable_set("@grit", nil)
72
72
  @repository.should_not be_valid
73
73
  end
74
74
  end
75
75
 
76
76
  describe "init" do
77
77
  it "should not add and commit gitignore if prompted" do
78
- @repo = mock
78
+ @repo = mock
79
79
  Grit::Repo.should_receive(:init).with(".").and_return(@repo)
80
80
  @repository.init
81
81
  end
@@ -83,13 +83,13 @@ describe Githug::Repository do
83
83
 
84
84
  describe "method_missing" do
85
85
  it "should deletegate to grit if the method exists" do
86
- @grit.should_receive(:respond_to?).with(:valid_method).and_return(true)
86
+ @grit.should_receive(:respond_to?).with(:valid_method).and_return(true)
87
87
  @grit.should_receive(:valid_method)
88
88
  @repository.valid_method
89
89
  end
90
90
 
91
91
  it "should not deletegate to grit if the method does not exist" do
92
- @grit.should_receive(:respond_to?).with(:invalid_method).and_return(false)
92
+ @grit.should_receive(:respond_to?).with(:invalid_method).and_return(false)
93
93
  lambda { @repository.invalid_method }.should raise_error(NoMethodError)
94
94
  end
95
95
  end
@@ -13,12 +13,12 @@ describe Githug::UI do
13
13
  end
14
14
 
15
15
  it "should put to the stream" do
16
- @ui.puts("hello")
16
+ @ui.puts("hello")
17
17
  @out.string.should eql("hello\n")
18
18
  end
19
19
 
20
20
  it "should print an empty line with no arguments" do
21
- @ui.puts
21
+ @ui.puts
22
22
  @out.string.should eql("\n")
23
23
  end
24
24
 
@@ -33,11 +33,6 @@ describe Githug::UI do
33
33
  @ui.gets.should == "bar\n"
34
34
  end
35
35
 
36
- it "should make a line" do
37
- @ui.line
38
- @out.string.should eql("*"*80+"\n")
39
- end
40
-
41
36
  it "should make a wordbox" do
42
37
  word_box = <<-eof
43
38
  ********************************************************************************
@@ -48,6 +43,13 @@ describe Githug::UI do
48
43
  @out.string.should eql(word_box)
49
44
  end
50
45
 
46
+ it "should print a correct wordbox for uneven msg length" do
47
+ @ui.word_box("odd",80)
48
+ printed = @out.string.lines
49
+ first_size = printed.first.chomp.length
50
+
51
+ printed.map{ |line| line.chomp.length.should eq(first_size) }
52
+ end
51
53
 
52
54
  it "should request text input" do
53
55
  @in.puts "bar"
@@ -60,12 +62,12 @@ describe Githug::UI do
60
62
  @ui.should_receive(:request).with('foo? [yn] ').and_return('y')
61
63
  @ui.ask("foo?").should be_true
62
64
  end
63
-
65
+
64
66
  it "should ask for yes/no and return false when no" do
65
67
  @ui.stub(:request).and_return('n')
66
68
  @ui.ask("foo?").should be_false
67
69
  end
68
-
70
+
69
71
  it "should ask for yes/no and return false for any input" do
70
72
  @ui.stub(:request).and_return('aklhasdf')
71
73
  @ui.ask("foo?").should be_false
@@ -89,7 +91,7 @@ describe Githug::UI do
89
91
  end
90
92
 
91
93
  describe "Non Windows Platform" do
92
-
94
+
93
95
  before(:each) do
94
96
  ENV.stub(:[]).with("OS").and_return("Windows_NT")
95
97
  end
@@ -106,5 +108,5 @@ describe Githug::UI do
106
108
 
107
109
  end
108
110
 
109
-
111
+
110
112
  end
@@ -0,0 +1,242 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec::Matchers.define :be_solved do
4
+ match do |actual|
5
+ !actual.match("Congratulations, you have solved the level").nil?
6
+ end
7
+ end
8
+
9
+ def skip_level
10
+ Githug::Profile.load.level_bump
11
+ `githug reset`
12
+ end
13
+
14
+
15
+ describe "The Game" do
16
+
17
+ before(:all) do
18
+ @dir = Dir.pwd
19
+ `rake build`
20
+ `gem install pkg/githug-#{Githug::VERSION}.gem`
21
+ FileUtils.rm_rf("/tmp/git_hug")
22
+ Dir.chdir("/tmp")
23
+ `echo "y" | githug`
24
+ Dir.chdir("/tmp/git_hug")
25
+ end
26
+
27
+ after(:all) do
28
+ Dir.chdir(@dir)
29
+ end
30
+
31
+ it "should complete the init level" do
32
+ `git init`
33
+ `githug`.should be_solved
34
+ end
35
+
36
+ it "should complete the add level" do
37
+ `git add README`
38
+ `githug`.should be_solved
39
+ end
40
+
41
+ it "should complete the commit level" do
42
+ `git commit -m "test message"`
43
+ `githug`.should be_solved
44
+ end
45
+
46
+
47
+ it "should complete the config level" do
48
+ skip_level #The CI server does not have git config set
49
+ #full_name = `git config --get user.name`.chomp
50
+ #email = `git config --get user.email`.chomp
51
+ #f = IO::popen('githug', 'w')
52
+ #f.puts(full_name)
53
+ #f.puts(email)
54
+ #f.close
55
+ end
56
+
57
+ it "should complete the clone level" do
58
+ `git clone https://github.com/Gazler/cloneme`
59
+ `githug`.should be_solved
60
+ end
61
+
62
+ it "should complete the clone_to_folder level" do
63
+ `git clone https://github.com/Gazler/cloneme my_cloned_repo`
64
+ `githug`.should be_solved
65
+ end
66
+
67
+ it "should complete the ignore level" do
68
+ `echo "*.swp" >> .gitignore`
69
+ `githug`.should be_solved
70
+ end
71
+
72
+ it "should complete the status level" do
73
+ `git ls-files --other --exclude-standard | githug`.should be_solved
74
+ end
75
+
76
+ it "should complete the rm level" do
77
+ file_name = `git status | grep deleted | cut -d " " -f 5`
78
+ `git rm #{file_name}`
79
+ `githug`.should be_solved
80
+ end
81
+
82
+ it "should complete the rm cached level" do
83
+ file_name = `git status | grep "new file" | cut -d " " -f 5`
84
+ `git rm --cached #{file_name}`
85
+ `githug`.should be_solved
86
+ end
87
+
88
+ it "should complete the stash level" do
89
+ `git stash save`
90
+ `githug`.should be_solved
91
+ end
92
+
93
+ it "should complete the rename level" do
94
+ `git mv oldfile.txt newfile.txt`
95
+ `githug`.should be_solved
96
+ end
97
+
98
+ it "should complete the log level" do
99
+ `git log --pretty=short | grep commit | cut -c 8-14 | githug`.should be_solved
100
+ end
101
+
102
+ it "should complete the tag level" do
103
+ `git tag new_tag`
104
+ `githug`.should be_solved
105
+ end
106
+
107
+ it "should complete the commit_amend level" do
108
+ `git add forgotten_file.rb`
109
+ `git commit --amend -C HEAD`
110
+ `githug`.should be_solved
111
+ end
112
+
113
+ it "should complete the reset level" do
114
+ `git reset HEAD to_commit_second.rb`
115
+ `githug`.should be_solved
116
+ end
117
+
118
+ it "should complete the reset_soft level" do
119
+ `git reset --soft HEAD^`
120
+ `githug`.should be_solved
121
+ end
122
+
123
+ it "should complete the checkout_file level" do
124
+ `git checkout -- config.rb`
125
+ `githug`.should be_solved
126
+ end
127
+
128
+ it "should complete the remove level" do
129
+ `git remote | githug`.should be_solved
130
+ end
131
+
132
+ it "should complete the remote_url level" do
133
+ `git remote -v | tail -2 | head -1 | cut -c 17-52 | githug`.should be_solved
134
+ end
135
+
136
+ it "should complete the pull level" do
137
+ `git pull origin master`
138
+ `githug`.should be_solved
139
+ end
140
+
141
+ it "should complete the remote_add level" do
142
+ `git remote add origin https://github.com/githug/githug`
143
+ `githug`.should be_solved
144
+ end
145
+
146
+ it "should complete the push level" do
147
+ `git rebase origin/master`
148
+ `git push origin`
149
+ `githug`.should be_solved
150
+ end
151
+
152
+ it "should complete the diff level" do
153
+ `echo "26" | githug`.should be_solved
154
+ end
155
+
156
+ it "should complete the blame level" do
157
+ `echo "spider man" | githug`.should be_solved
158
+ end
159
+
160
+ it "should complete the branch level" do
161
+ `git branch test_code`
162
+ `githug`.should be_solved
163
+ end
164
+
165
+ it "should complete the checkout level" do
166
+ `git checkout -b my_branch`
167
+ `githug`.should be_solved
168
+ end
169
+
170
+ it "should complete the checkout_tag level" do
171
+ `git checkout v1.2`
172
+ `githug`.should be_solved
173
+ end
174
+
175
+ it "should complete the branch_at level" do
176
+ commit = `git log HEAD~1 --pretty=short | head -1 | cut -d " " -f 2`
177
+ `git branch test_branch #{commit}`
178
+ `githug`.should be_solved
179
+ end
180
+
181
+ it "should commit the merge level" do
182
+ `git merge feature`
183
+ `githug`.should be_solved
184
+ end
185
+
186
+ it "should complete the cherry-pick level" do
187
+ commit = `git log new-feature --oneline -n 3 | tail -1 | cut -d " " -f 1`
188
+ `git cherry-pick #{commit}`
189
+ `githug`.should be_solved
190
+ end
191
+
192
+ it "should complete the rename_commit level" do
193
+ skip_level
194
+ end
195
+
196
+ it "should complete the squash level" do
197
+ skip_level
198
+ end
199
+
200
+ it "should complete the merge squash level" do
201
+ `git merge --squash long-feature-branch`
202
+ `git commit -m "Merged Long Feature Branch"`
203
+ `githug`.should be_solved
204
+ end
205
+
206
+ it "should complete the reorder level" do
207
+ skip_level
208
+ end
209
+
210
+ it "should complete the bisect level" do
211
+ `echo "18ed2ac" | githug`.should be_solved
212
+ end
213
+
214
+ it "should complete the stage_lines level" do
215
+ skip_level
216
+ end
217
+
218
+ it "should complete the find_old_branch level" do
219
+ `git checkout solve_world_hunger`
220
+ `githug`.should be_solved
221
+ end
222
+
223
+ it "should complete the revert level" do
224
+ sleep 1
225
+ `git revert HEAD~1 --no-edit`
226
+ `githug`.should be_solved
227
+ end
228
+
229
+ it "should complete the restore level" do
230
+ `git reflog | grep "Restore this commit" | awk '{print $1}' | xargs git checkout`
231
+ `githug`.should be_solved
232
+ end
233
+
234
+ it "should complete the conflict level" do
235
+ skip_level
236
+ end
237
+
238
+ it "should complete the contribute level" do
239
+ skip_level
240
+ end
241
+
242
+ end
metadata CHANGED
@@ -1,75 +1,93 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: githug
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.12
4
5
  prerelease:
5
- version: 0.2.11
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Gary Rennie
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-11-05 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2013-03-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rspec
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
20
+ - !ruby/object:Gem::Version
23
21
  version: 2.8.0
24
22
  type: :development
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: grit
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
30
25
  none: false
31
- requirements:
26
+ requirements:
32
27
  - - ~>
33
- - !ruby/object:Gem::Version
28
+ - !ruby/object:Gem::Version
29
+ version: 2.8.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: grit
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
34
37
  version: 2.3.0
35
38
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: thor
39
39
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.3.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: thor
48
+ requirement: !ruby/object:Gem::Requirement
41
49
  none: false
42
- requirements:
50
+ requirements:
43
51
  - - ~>
44
- - !ruby/object:Gem::Version
52
+ - !ruby/object:Gem::Version
45
53
  version: 0.14.6
46
54
  type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: rake
50
55
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
52
57
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.14.6
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
57
70
  type: :runtime
58
- version_requirements: *id004
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
59
78
  description: An interactive way to learn git.
60
- email:
79
+ email:
61
80
  - webmaster@gazler.com
62
- executables:
81
+ executables:
63
82
  - githug
64
83
  extensions: []
65
-
66
84
  extra_rdoc_files: []
67
-
68
- files:
85
+ files:
69
86
  - .gitignore
70
87
  - .rspec
71
88
  - .travis.yml
72
89
  - Gemfile
90
+ - LICENCE.txt
73
91
  - README.md
74
92
  - Rakefile
75
93
  - bin/githug
@@ -342,6 +360,29 @@ files:
342
360
  - levels/rm_cached.rb
343
361
  - levels/squash.rb
344
362
  - levels/stage_lines.rb
363
+ - levels/stash.rb
364
+ - levels/stash/.githug/COMMIT_EDITMSG
365
+ - levels/stash/.githug/HEAD
366
+ - levels/stash/.githug/config
367
+ - levels/stash/.githug/description
368
+ - levels/stash/.githug/hooks/applypatch-msg.sample
369
+ - levels/stash/.githug/hooks/commit-msg.sample
370
+ - levels/stash/.githug/hooks/post-update.sample
371
+ - levels/stash/.githug/hooks/pre-applypatch.sample
372
+ - levels/stash/.githug/hooks/pre-commit.sample
373
+ - levels/stash/.githug/hooks/pre-rebase.sample
374
+ - levels/stash/.githug/hooks/prepare-commit-msg.sample
375
+ - levels/stash/.githug/hooks/update.sample
376
+ - levels/stash/.githug/index
377
+ - levels/stash/.githug/info/exclude
378
+ - levels/stash/.githug/logs/HEAD
379
+ - levels/stash/.githug/logs/refs/heads/master
380
+ - levels/stash/.githug/objects/02/060592b31c9e12ffe1b282addf9537c5ef8e1f
381
+ - levels/stash/.githug/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
382
+ - levels/stash/.githug/objects/7f/82d7e4fba66980af16da540e18d8955518cdc2
383
+ - levels/stash/.githug/objects/85/e560abcd7e3255dcd91982476e432f4d3d1b51
384
+ - levels/stash/.githug/refs/heads/master
385
+ - levels/stash/lyrics.txt
345
386
  - levels/status.rb
346
387
  - levels/tag.rb
347
388
  - lib/githug.rb
@@ -358,33 +399,30 @@ files:
358
399
  - spec/githug/profile_spec.rb
359
400
  - spec/githug/repository_spec.rb
360
401
  - spec/githug/ui_spec.rb
402
+ - spec/githug_spec.rb
361
403
  - spec/spec_helper.rb
362
- homepage: ""
404
+ homepage: ''
363
405
  licenses: []
364
-
365
406
  post_install_message:
366
407
  rdoc_options: []
367
-
368
- require_paths:
408
+ require_paths:
369
409
  - lib
370
- required_ruby_version: !ruby/object:Gem::Requirement
410
+ required_ruby_version: !ruby/object:Gem::Requirement
371
411
  none: false
372
- requirements:
373
- - - ">="
374
- - !ruby/object:Gem::Version
375
- version: "0"
376
- required_rubygems_version: !ruby/object:Gem::Requirement
412
+ requirements:
413
+ - - ! '>='
414
+ - !ruby/object:Gem::Version
415
+ version: '0'
416
+ required_rubygems_version: !ruby/object:Gem::Requirement
377
417
  none: false
378
- requirements:
379
- - - ">="
380
- - !ruby/object:Gem::Version
381
- version: "0"
418
+ requirements:
419
+ - - ! '>='
420
+ - !ruby/object:Gem::Version
421
+ version: '0'
382
422
  requirements: []
383
-
384
423
  rubyforge_project: githug
385
- rubygems_version: 1.8.21
424
+ rubygems_version: 1.8.24
386
425
  signing_key:
387
426
  specification_version: 3
388
427
  summary: An interactive way to learn git.
389
428
  test_files: []
390
-