githug 0.2.11 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-