buildbox 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/buildbox/api.rb +4 -1
  4. data/lib/buildbox/build.rb +3 -24
  5. data/lib/buildbox/monitor.rb +1 -1
  6. data/lib/buildbox/runner.rb +18 -62
  7. data/lib/buildbox/version.rb +1 -1
  8. data/spec/fixtures/repo.git/refs/heads/master +1 -1
  9. data/spec/integration/running_a_build_spec.rb +74 -32
  10. metadata +1 -69
  11. data/spec/fixtures/repo.git/objects/04/962eeccc7db2ca321fae49c1870e8fc4d2d66e +0 -0
  12. data/spec/fixtures/repo.git/objects/06/2228c22ba88855cad2d6a49548102eae064f83 +0 -0
  13. data/spec/fixtures/repo.git/objects/0c/0b9f8492bbf106aa0b3ab44f2b1f85201d7741 +0 -0
  14. data/spec/fixtures/repo.git/objects/0e/2d0627c994c622bec0e3bcc974d5e93333e16b +0 -0
  15. data/spec/fixtures/repo.git/objects/13/1eb1a583f8c93ae161efc6a20f039534ffd1f2 +0 -0
  16. data/spec/fixtures/repo.git/objects/20/962c607e5717778217d53e1486a91cf37364c3 +0 -0
  17. data/spec/fixtures/repo.git/objects/24/b04991020e82630ef2ee1d880a6af3cbd4c895 +0 -0
  18. data/spec/fixtures/repo.git/objects/26/09e034ab986b1300462e5045e528e997e92388 +0 -0
  19. data/spec/fixtures/repo.git/objects/2a/c2f6560213aa67b0beb5f93752ba9bc5c17408 +0 -1
  20. data/spec/fixtures/repo.git/objects/37/d57a5fc0e114e2ed5f93246e1faad4ffdc938f +0 -0
  21. data/spec/fixtures/repo.git/objects/38/393aa12f6a61fb004d97cc758d57553677ef4c +0 -0
  22. data/spec/fixtures/repo.git/objects/55/21b43c112e44d30c1c6e96a624ac2f7f106080 +0 -0
  23. data/spec/fixtures/repo.git/objects/5e/10fade9d87996aff68ab953e1b0990546f53a6 +0 -0
  24. data/spec/fixtures/repo.git/objects/65/70f379f41b941bb7c55bf3dfa748c38ceeac18 +0 -0
  25. data/spec/fixtures/repo.git/objects/67/51a12720df0cab2d2af8c5faa5d7a9de0592a2 +0 -0
  26. data/spec/fixtures/repo.git/objects/6d/360ec6efb36a1899d99ee6db7b5d6775f75553 +0 -0
  27. data/spec/fixtures/repo.git/objects/81/4d7440ff99aa974a16f62bf74a5e332848d38e +0 -2
  28. data/spec/fixtures/repo.git/objects/8b/8bbf08cad20dddc169e6ba18f0a57dc199d780 +0 -0
  29. data/spec/fixtures/repo.git/objects/8e/ef70ef24a36aa57fbacc0d759e312f51332c3d +0 -3
  30. data/spec/fixtures/repo.git/objects/96/05a98eaf99f9c8436fc0d63d1f9c4e7c8074a1 +0 -0
  31. data/spec/fixtures/repo.git/objects/96/b3b1ccedd7e3d0c3d980a3f5efbd456e910f81 +0 -0
  32. data/spec/fixtures/repo.git/objects/99/cc50613b66753e8baff6678287b77484f65398 +0 -2
  33. data/spec/fixtures/repo.git/objects/a1/fbbf2cde5a3f75c66599c176618a0503e58280 +0 -1
  34. data/spec/fixtures/repo.git/objects/aa/6a10fb52f6c921da60255271efc54865d83108 +0 -0
  35. data/spec/fixtures/repo.git/objects/b1/6359980d096f665a6bdb22331b679fd34b8aee +0 -0
  36. data/spec/fixtures/repo.git/objects/b3/f5006b546d890c65573bb5ceab100ce3c3b0d6 +0 -0
  37. data/spec/fixtures/repo.git/objects/c3/f573f9c7886117a28bb9f6f09452faec874d52 +0 -0
  38. data/spec/fixtures/repo.git/objects/c4/3c386d88340ba3214064669190de65e6094082 +0 -0
  39. data/spec/fixtures/repo.git/objects/cb/fa06c2ca5c2b91d093b89886d873815820125d +0 -0
  40. data/spec/fixtures/repo.git/objects/ce/460ddb64d2a317bb6f49eaf22ebe839e5d0839 +0 -0
  41. data/spec/fixtures/repo.git/objects/ed/8af179853d173a838535a250c4500c0ccd8199 +0 -2
  42. data/spec/fixtures/repo.git/objects/f2/0051c2ebf04cbf6fe28f8620b7a3c3da2f2fd4 +0 -1
  43. data/spec/fixtures/repo.git/objects/f3/9ab5e17f1e98465df20fdf2d8f3a29af10d804 +0 -0
  44. data/spec/fixtures/repo.git/objects/f8/93c7f6939fc152ce65f4f4ade3e98e9c6ae9b4 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 033c05b17212599e1e890e81b4fc2a32af110232
4
- data.tar.gz: b83c38368d0f73644886f1cd85e06ba2027d5eb0
3
+ metadata.gz: 0f89d17b118fdfeae221ddd724997ad6892fdb4c
4
+ data.tar.gz: f12dab225a000454649464200d544c9e00a39b92
5
5
  SHA512:
6
- metadata.gz: 5371b0e6e4a08edae5a8491b16a2db9934fc37833005a268e76ee4cb1d6eacc54281ac38608722b946de53bd919c65e979f33cd632661478ab2882030bb24e14
7
- data.tar.gz: 0c6fea3764b2fdd393854a10a4e5dccf100cfd00afee0fc542e04a297a06b04c8311d70627a1666427b6422e019cf763517441a36d0d72bd8ce5537c83c9f9f2
6
+ metadata.gz: c2ef1cc4e717256591146dec6b118c2bd76caf97d3cc64143616699ae50809aa4d21a1039d72f15c9e7f98a27444500ca97fbfb8068109e50eec27cf63fc3b6e
7
+ data.tar.gz: d255170edfba8f35bd03bff55e8f2687584cf3b52375c9a3c31e98b51e5e9a6503d1b0f0a7580b42519ff381725045f0bee2e46411399565a8696b692c4f1c24
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- buildbox (0.3.1)
4
+ buildbox (0.3.2)
5
5
  celluloid (~> 0.14)
6
6
  childprocess (~> 0.3)
7
7
  faraday (~> 0.8)
@@ -23,7 +23,10 @@ module Buildbox
23
23
  end
24
24
 
25
25
  def update_build(build)
26
- put(build.url, :state => build.state, :parts => build.parts)
26
+ put(build.url, :started_at => build.started_at,
27
+ :finished_at => build.finished_at,
28
+ :output => build.output,
29
+ :exit_status => build.exit_status)
27
30
  end
28
31
 
29
32
  private
@@ -3,40 +3,19 @@ require 'hashie/mash'
3
3
 
4
4
  module Buildbox
5
5
  class Build < Hashie::Mash
6
- class State
7
- STARTED = 'started'
8
- FINISHED = 'finished'
9
- end
10
-
11
- class Part < Hashie::Mash
12
- def success?
13
- exit_status == 0
14
- end
15
- end
16
-
17
- attr_reader :parts
18
-
19
- def initialize(*args)
20
- super(*args)
21
- @parts = []
22
- end
23
-
24
6
  def success?
25
- !@parts.empty? && @parts.last.success?
7
+ exit_status == 0
26
8
  end
27
9
 
28
10
  def started?
29
- state == State::STARTED
11
+ !started_at.nil?
30
12
  end
31
13
 
32
14
  def finished?
33
- state == State::FINISHED
15
+ !finished_at.nil?
34
16
  end
35
17
 
36
18
  def namespace
37
- raise "Missing project id" unless project.id
38
- raise "Missing team id" unless project.team.id
39
-
40
19
  "#{project.team.id}/#{project.id}"
41
20
  end
42
21
  end
@@ -16,7 +16,7 @@ module Buildbox
16
16
  # update_build http call, and breaking. So to make sure we're using the
17
17
  # same build object throughout this call, we can just deep dup it.
18
18
  build = Marshal.load(Marshal.dump(@build))
19
- @api.update_build(build)
19
+ @api.update_build(build) if build.started? || build.finished?
20
20
 
21
21
  if build.finished?
22
22
  break
@@ -1,7 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'celluloid'
3
3
  require 'fileutils'
4
- require 'yaml'
5
4
 
6
5
  module Buildbox
7
6
  class Runner
@@ -10,87 +9,44 @@ module Buildbox
10
9
 
11
10
  attr_reader :build
12
11
 
13
- class CommandFailedError < StandardError; end
14
-
15
12
  def initialize(build)
16
13
  @build = build
17
14
  end
18
15
 
19
- def run(*args)
20
- # Create the build part
21
- build_part = Build::Part.new(:command => args.join(' '), :output => '', :started_at => Time.now.utc)
22
- @build.parts << build_part
23
-
24
- # Run the command and capture output
25
- result = Command.run(*args, :environment => @build.env, :directory => @working_directory) do |chunk|
26
- build_part.output << chunk
27
- end
28
-
29
- # Set the output again because we may have missed some in the block
30
- build_part.output = result.output
31
- build_part.exit_status = result.exit_status
32
- build_part.finished_at = Time.now.utc
33
-
34
- raise CommandFailedError unless build_part.success?
35
-
36
- build_part
37
- end
38
-
39
16
  def start
40
17
  info "Starting to build #{@build.namespace}/#{@build.id} starting..."
41
18
 
42
- # Ensure we have the right env variables needed to build
43
- %w(BUILDBOX_REPO BUILDBOX_COMMIT).each do |env|
44
- raise "Build is missing environment variable #{env}" unless @build.env[env]
45
- end
19
+ FileUtils.mkdir_p(directory_path)
20
+ File.open(script_path, 'w+') { |file| file.write(@build.script) }
21
+ File.chmod(0777, script_path)
46
22
 
47
- @build.state = Build::State::STARTED
23
+ info "Running script: #{script_path}"
48
24
 
49
- # Ensure we have a working directory to run the build in
50
- @working_directory = @build.project.working_directory || default_working_directory
51
- FileUtils.mkdir_p(@working_directory)
25
+ @build.started_at = Time.now.utc
52
26
 
53
- begin
54
- # Bootstrap version control and checkout the right commit
55
- bootstrap_version_control
27
+ build.output = ""
28
+ result = Command.run(script_path, :environment => @build.env, :directory => directory_path) do |chunk|
29
+ build.output << chunk
30
+ end
56
31
 
57
- # Try and find a .buildbox.yml file
58
- buildbox_yml = File.join(@working_directory, '.buildbox.yml')
32
+ build.output = result.output
33
+ build.exit_status = result.exit_status
59
34
 
60
- if File.exist?(buildbox_yml)
61
- yaml = YAML.load_file(buildbox_yml)
62
- commands = [ *yaml['script'] ]
63
- else
64
- # Maybe there is a .buildbox file that can be executed?
65
- buildbox_script = File.join(@working_directory, '.buildbox')
66
- commands = [ buildbox_script ] if File.exist?(buildbox_script)
67
- end
35
+ File.delete(script_path)
68
36
 
69
- # Run the commands for the build
70
- if commands && commands.any?
71
- commands.each { |command| run command }
72
- else
73
- end
74
- rescue CommandFailedError
75
- end
37
+ @build.finished_at = Time.now.utc
76
38
 
77
- @build.state = Build::State::FINISHED
39
+ info "#{@build.namespace} ##{@build.id} finished with exit status #{result.exit_status}"
78
40
  end
79
41
 
80
42
  private
81
43
 
82
- def bootstrap_version_control
83
- unless File.exist?(File.join(@working_directory, '.git'))
84
- run "git", "clone", @build.env["BUILDBOX_REPO"], "."
85
- end
86
-
87
- run "git", "clean", "-fd"
88
- run "git", "fetch", "-q"
89
- run "git", "checkout", "-qf", @build.env["BUILDBOX_COMMIT"]
44
+ def directory_path
45
+ @directory_path ||= Buildbox.root_path.join(@build.namespace)
90
46
  end
91
47
 
92
- def default_working_directory
93
- Buildbox.root_path.join(@build.namespace)
48
+ def script_path
49
+ @script_path ||= Buildbox.root_path.join("buildbox-#{@build.namespace.gsub(/\//, '-')}-#{@build.id}")
94
50
  end
95
51
  end
96
52
  end
@@ -1,3 +1,3 @@
1
1
  module Buildbox
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
@@ -1 +1 @@
1
- f20051c2ebf04cbf6fe28f8620b7a3c3da2f2fd4
1
+ 2d762cdfd781dc4077c9f27a18969efbd186363c
@@ -3,10 +3,26 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe 'running a build' do
6
- let(:commit) { "24b04991020e82630ef2ee1d880a6af3cbd4c895" }
7
- let(:env) { { 'BUILDBOX_REPO' => FIXTURES_PATH.join("repo.git").to_s, 'BUILDBOX_COMMIT' => commit } }
8
- let(:build) { Buildbox::Build.new(:project => { :id => "test", :team => { :id => "test" } }, :id => 'buildid', :env => env) }
9
- let(:runner) { Buildbox::Runner.new(build) }
6
+ let(:commit) { "3e0c65433b241ff2c59220f80bcdcd2ebb7e4b96" }
7
+ let(:command) { "rspec test_spec.rb" }
8
+ let(:env) { { } }
9
+ let(:build) { Buildbox::Build.new(:project => { :id => "test", :team => { :id => "test" } }, :id => 1, :script => script, :env => env) }
10
+ let(:runner) { Buildbox::Runner.new(build) }
11
+ let(:script) do
12
+ <<-SCRIPT
13
+ #/bin/bash
14
+ set -e
15
+ echo `pwd`
16
+ if [ ! -d ".git" ]; then
17
+ git clone "#{FIXTURES_PATH.join("repo.git").to_s}" ./ -q
18
+ fi
19
+ git clean -fd
20
+ git fetch -q
21
+ git checkout -qf #{commit}
22
+ bundle install --local
23
+ #{command}
24
+ SCRIPT
25
+ end
10
26
 
11
27
  before do
12
28
  Buildbox.stub(:root_path).and_return(TEMP_PATH)
@@ -21,8 +37,7 @@ describe 'running a build' do
21
37
  runner.start
22
38
 
23
39
  build.should be_success
24
- build.should be_finished
25
- build.parts.last.output.should =~ /1 example, 0 failures/
40
+ build.output.should =~ /1 example, 0 failures/
26
41
  end
27
42
  end
28
43
 
@@ -33,67 +48,94 @@ describe 'running a build' do
33
48
  runner.start
34
49
 
35
50
  build.should be_success
36
- build.parts.last.output.should =~ /1 example, 0 failures/
51
+ build.output.should =~ /1 example, 0 failures/
37
52
  end
38
53
  end
39
54
 
40
55
  context 'running a failing build' do
41
- let(:commit) { "5e10fade9d87996aff68ab953e1b0990546f53a6" }
56
+ let(:commit) { "2d762cdfd781dc4077c9f27a18969efbd186363c" }
42
57
 
43
58
  it "returns a unsuccessfull result" do
44
59
  runner.start
45
60
 
46
61
  build.should_not be_success
47
- build.parts.last.output.should =~ /1 example, 1 failure/
62
+ build.output.should =~ /1 example, 1 failure/
48
63
  end
49
64
  end
50
65
 
51
66
  context 'running a failing build that has commands after the one that failed' do
52
- let(:commit) { '2ac2f6560213aa67b0beb5f93752ba9bc5c17408' }
67
+ let(:commit) { "2d762cdfd781dc4077c9f27a18969efbd186363c" }
68
+ let(:command) { "rspec test_spec.rb; echo 'oh no you didnt!'" }
53
69
 
54
70
  it "returns a unsuccessfull result" do
55
71
  runner.start
56
72
 
57
73
  build.should_not be_success
58
- build.parts.last.output.should =~ /1 example, 1 failure/
74
+ build.output.should =~ /1 example, 1 failure/
75
+ end
76
+ end
77
+
78
+ context 'running a ruby script' do
79
+ let(:script) do
80
+ <<-SCRIPT
81
+ #!/usr/bin/env ruby
82
+ puts 'hello'
83
+ exit 123
84
+ SCRIPT
85
+ end
86
+
87
+ it "runs and returns the correct output" do
88
+ runner.start
89
+
90
+ build.output.should == 'hello'
91
+ build.exit_status.should == 123
59
92
  end
60
93
  end
61
94
 
62
95
  context 'accessing ENV variables with a ruby script' do
63
- let(:commit) { "814d7440ff99aa974a16f62bf74a5e332848d38e" }
96
+ let(:env) { { "FOO" => "great" } }
97
+ let(:script) do
98
+ <<-SCRIPT
99
+ #!/usr/bin/env ruby
100
+ puts ENV["FOO"]
101
+ SCRIPT
102
+ end
64
103
 
65
104
  it "runs and returns the correct output" do
66
- env['FOO'] = "great"
67
105
  runner.start
68
106
 
69
- build.parts[4].output.should == env['BUILDBOX_REPO']
70
- build.parts.last.output.should == 'great'
107
+ build.output.should == 'great'
71
108
  end
72
109
  end
73
110
 
74
- context 'running a failing build that returns a non standard exit status' do
75
- let(:commit) { "f20051c2ebf04cbf6fe28f8620b7a3c3da2f2fd4" }
111
+ context 'accessing ENV variables with a bash script' do
112
+ let(:env) { { "BAR" => "great" } }
113
+ let(:script) do
114
+ <<-SCRIPT
115
+ echo $BAR
116
+ SCRIPT
117
+ end
76
118
 
77
- it "returns a unsuccessfull result" do
119
+ it "runs and returns the correct output" do
78
120
  runner.start
79
121
 
80
- build.should_not be_success
81
- build.parts.last.exit_status.should == 123
122
+ build.output.should == 'great'
82
123
  end
83
124
  end
84
125
 
85
- context 'running a build with a .buildbox file inside' do
86
- let(:commit) { "96b3b1ccedd7e3d0c3d980a3f5efbd456e910f81" }
126
+ context 'running a failing build that returns a non standard exit status' do
127
+ let(:command) { "exit 123" }
87
128
 
88
129
  it "returns a unsuccessfull result" do
89
130
  runner.start
90
131
 
91
- build.parts.last.output.should == 'Hello there!!'
132
+ build.should_not be_success
133
+ build.exit_status.should == 123
92
134
  end
93
135
  end
94
136
 
95
137
  context 'a build that has a command with a syntax error' do
96
- let(:commit) { "8eef70ef24a36aa57fbacc0d759e312f51332c3d" }
138
+ let(:command) { 'if ( echo yay' }
97
139
 
98
140
  it "returns a unsuccessfull result" do
99
141
  runner.start
@@ -105,12 +147,12 @@ describe 'running a build' do
105
147
  # zsh 5.0.2 prints "parse error" which we do not handle.
106
148
  # localized systems will print the message in not English which
107
149
  # we do not handle either.
108
- build.parts.last.output.should =~ /(syntax|parse) error/i
150
+ build.output.should =~ /(syntax|parse) error/i
109
151
  end
110
152
  end
111
153
 
112
154
  context 'running a build with a broken command' do
113
- let(:commit) { '99cc50613b66753e8baff6678287b77484f65398' }
155
+ let(:command) { 'foobar' }
114
156
 
115
157
  it "returns a unsuccessfull result" do
116
158
  runner.start
@@ -118,7 +160,7 @@ describe 'running a build' do
118
160
  build.should_not be_success
119
161
  # ubuntu: sh: 1: foobar: not found
120
162
  # osx: sh: foobar: command not found
121
- build.parts.last.output.should =~ /foobar.+not found/
163
+ build.output.should =~ /foobar.+not found/
122
164
  end
123
165
  end
124
166
 
@@ -126,11 +168,11 @@ describe 'running a build' do
126
168
  it "returns a successfull result when the build passes" do
127
169
  runner.start
128
170
  build.should be_success
129
- build.parts.last.output.should =~ /1 example, 0 failures/
171
+ build.output.should =~ /1 example, 0 failures/
130
172
 
131
173
  runner.start
132
174
  build.should be_success
133
- build.parts.last.output.should =~ /1 example, 0 failures/
175
+ build.output.should =~ /1 example, 0 failures/
134
176
  end
135
177
  end
136
178
 
@@ -143,12 +185,12 @@ describe 'running a build' do
143
185
  thread.join
144
186
 
145
187
  build.should be_success
146
- build.parts.last.output.should =~ /1 example, 0 failures/
188
+ build.output.should =~ /1 example, 0 failures/
147
189
  end
148
190
  end
149
191
 
150
192
  context 'running a failing build from a thread' do
151
- let(:commit) { "5e10fade9d87996aff68ab953e1b0990546f53a6" }
193
+ let(:commit) { "2d762cdfd781dc4077c9f27a18969efbd186363c" }
152
194
 
153
195
  it "returns a successfull result" do
154
196
  result = nil
@@ -158,7 +200,7 @@ describe 'running a build' do
158
200
  thread.join
159
201
 
160
202
  build.should_not be_success
161
- build.parts.last.output.should =~ /1 example, 1 failure/
203
+ build.output.should =~ /1 example, 1 failure/
162
204
  end
163
205
  end
164
206
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Pitt
@@ -150,46 +150,12 @@ files:
150
150
  - spec/fixtures/repo.git/hooks/prepare-commit-msg.sample
151
151
  - spec/fixtures/repo.git/hooks/update.sample
152
152
  - spec/fixtures/repo.git/info/exclude
153
- - spec/fixtures/repo.git/objects/04/962eeccc7db2ca321fae49c1870e8fc4d2d66e
154
- - spec/fixtures/repo.git/objects/06/2228c22ba88855cad2d6a49548102eae064f83
155
- - spec/fixtures/repo.git/objects/0c/0b9f8492bbf106aa0b3ab44f2b1f85201d7741
156
- - spec/fixtures/repo.git/objects/0e/2d0627c994c622bec0e3bcc974d5e93333e16b
157
- - spec/fixtures/repo.git/objects/13/1eb1a583f8c93ae161efc6a20f039534ffd1f2
158
- - spec/fixtures/repo.git/objects/20/962c607e5717778217d53e1486a91cf37364c3
159
- - spec/fixtures/repo.git/objects/24/b04991020e82630ef2ee1d880a6af3cbd4c895
160
- - spec/fixtures/repo.git/objects/26/09e034ab986b1300462e5045e528e997e92388
161
- - spec/fixtures/repo.git/objects/2a/c2f6560213aa67b0beb5f93752ba9bc5c17408
162
153
  - spec/fixtures/repo.git/objects/2d/762cdfd781dc4077c9f27a18969efbd186363c
163
- - spec/fixtures/repo.git/objects/37/d57a5fc0e114e2ed5f93246e1faad4ffdc938f
164
- - spec/fixtures/repo.git/objects/38/393aa12f6a61fb004d97cc758d57553677ef4c
165
154
  - spec/fixtures/repo.git/objects/3e/0c65433b241ff2c59220f80bcdcd2ebb7e4b96
166
- - spec/fixtures/repo.git/objects/55/21b43c112e44d30c1c6e96a624ac2f7f106080
167
- - spec/fixtures/repo.git/objects/5e/10fade9d87996aff68ab953e1b0990546f53a6
168
- - spec/fixtures/repo.git/objects/65/70f379f41b941bb7c55bf3dfa748c38ceeac18
169
- - spec/fixtures/repo.git/objects/67/51a12720df0cab2d2af8c5faa5d7a9de0592a2
170
- - spec/fixtures/repo.git/objects/6d/360ec6efb36a1899d99ee6db7b5d6775f75553
171
- - spec/fixtures/repo.git/objects/81/4d7440ff99aa974a16f62bf74a5e332848d38e
172
- - spec/fixtures/repo.git/objects/8b/8bbf08cad20dddc169e6ba18f0a57dc199d780
173
- - spec/fixtures/repo.git/objects/8e/ef70ef24a36aa57fbacc0d759e312f51332c3d
174
155
  - spec/fixtures/repo.git/objects/95/73fff3f9e2c38ccdd7755674ec87c31ca08270
175
- - spec/fixtures/repo.git/objects/96/05a98eaf99f9c8436fc0d63d1f9c4e7c8074a1
176
- - spec/fixtures/repo.git/objects/96/b3b1ccedd7e3d0c3d980a3f5efbd456e910f81
177
- - spec/fixtures/repo.git/objects/99/cc50613b66753e8baff6678287b77484f65398
178
- - spec/fixtures/repo.git/objects/a1/fbbf2cde5a3f75c66599c176618a0503e58280
179
- - spec/fixtures/repo.git/objects/aa/6a10fb52f6c921da60255271efc54865d83108
180
- - spec/fixtures/repo.git/objects/b1/6359980d096f665a6bdb22331b679fd34b8aee
181
- - spec/fixtures/repo.git/objects/b3/f5006b546d890c65573bb5ceab100ce3c3b0d6
182
- - spec/fixtures/repo.git/objects/c3/f573f9c7886117a28bb9f6f09452faec874d52
183
156
  - spec/fixtures/repo.git/objects/c4/01f49fe0172add6a09aec8a7808112ce5894dd
184
- - spec/fixtures/repo.git/objects/c4/3c386d88340ba3214064669190de65e6094082
185
157
  - spec/fixtures/repo.git/objects/c9/3cd4edd7e0b6fd4c69e65fc7f25cbf06ac855c
186
- - spec/fixtures/repo.git/objects/cb/fa06c2ca5c2b91d093b89886d873815820125d
187
- - spec/fixtures/repo.git/objects/ce/460ddb64d2a317bb6f49eaf22ebe839e5d0839
188
158
  - spec/fixtures/repo.git/objects/e9/8d8a9be514ef53609a52c9e1b820dbcc8e6603
189
- - spec/fixtures/repo.git/objects/ed/8af179853d173a838535a250c4500c0ccd8199
190
- - spec/fixtures/repo.git/objects/f2/0051c2ebf04cbf6fe28f8620b7a3c3da2f2fd4
191
- - spec/fixtures/repo.git/objects/f3/9ab5e17f1e98465df20fdf2d8f3a29af10d804
192
- - spec/fixtures/repo.git/objects/f8/93c7f6939fc152ce65f4f4ade3e98e9c6ae9b4
193
159
  - spec/fixtures/repo.git/refs/heads/master
194
160
  - spec/fixtures/rspec/test_spec.rb
195
161
  - spec/fixtures/sleep_script
@@ -247,46 +213,12 @@ test_files:
247
213
  - spec/fixtures/repo.git/hooks/prepare-commit-msg.sample
248
214
  - spec/fixtures/repo.git/hooks/update.sample
249
215
  - spec/fixtures/repo.git/info/exclude
250
- - spec/fixtures/repo.git/objects/04/962eeccc7db2ca321fae49c1870e8fc4d2d66e
251
- - spec/fixtures/repo.git/objects/06/2228c22ba88855cad2d6a49548102eae064f83
252
- - spec/fixtures/repo.git/objects/0c/0b9f8492bbf106aa0b3ab44f2b1f85201d7741
253
- - spec/fixtures/repo.git/objects/0e/2d0627c994c622bec0e3bcc974d5e93333e16b
254
- - spec/fixtures/repo.git/objects/13/1eb1a583f8c93ae161efc6a20f039534ffd1f2
255
- - spec/fixtures/repo.git/objects/20/962c607e5717778217d53e1486a91cf37364c3
256
- - spec/fixtures/repo.git/objects/24/b04991020e82630ef2ee1d880a6af3cbd4c895
257
- - spec/fixtures/repo.git/objects/26/09e034ab986b1300462e5045e528e997e92388
258
- - spec/fixtures/repo.git/objects/2a/c2f6560213aa67b0beb5f93752ba9bc5c17408
259
216
  - spec/fixtures/repo.git/objects/2d/762cdfd781dc4077c9f27a18969efbd186363c
260
- - spec/fixtures/repo.git/objects/37/d57a5fc0e114e2ed5f93246e1faad4ffdc938f
261
- - spec/fixtures/repo.git/objects/38/393aa12f6a61fb004d97cc758d57553677ef4c
262
217
  - spec/fixtures/repo.git/objects/3e/0c65433b241ff2c59220f80bcdcd2ebb7e4b96
263
- - spec/fixtures/repo.git/objects/55/21b43c112e44d30c1c6e96a624ac2f7f106080
264
- - spec/fixtures/repo.git/objects/5e/10fade9d87996aff68ab953e1b0990546f53a6
265
- - spec/fixtures/repo.git/objects/65/70f379f41b941bb7c55bf3dfa748c38ceeac18
266
- - spec/fixtures/repo.git/objects/67/51a12720df0cab2d2af8c5faa5d7a9de0592a2
267
- - spec/fixtures/repo.git/objects/6d/360ec6efb36a1899d99ee6db7b5d6775f75553
268
- - spec/fixtures/repo.git/objects/81/4d7440ff99aa974a16f62bf74a5e332848d38e
269
- - spec/fixtures/repo.git/objects/8b/8bbf08cad20dddc169e6ba18f0a57dc199d780
270
- - spec/fixtures/repo.git/objects/8e/ef70ef24a36aa57fbacc0d759e312f51332c3d
271
218
  - spec/fixtures/repo.git/objects/95/73fff3f9e2c38ccdd7755674ec87c31ca08270
272
- - spec/fixtures/repo.git/objects/96/05a98eaf99f9c8436fc0d63d1f9c4e7c8074a1
273
- - spec/fixtures/repo.git/objects/96/b3b1ccedd7e3d0c3d980a3f5efbd456e910f81
274
- - spec/fixtures/repo.git/objects/99/cc50613b66753e8baff6678287b77484f65398
275
- - spec/fixtures/repo.git/objects/a1/fbbf2cde5a3f75c66599c176618a0503e58280
276
- - spec/fixtures/repo.git/objects/aa/6a10fb52f6c921da60255271efc54865d83108
277
- - spec/fixtures/repo.git/objects/b1/6359980d096f665a6bdb22331b679fd34b8aee
278
- - spec/fixtures/repo.git/objects/b3/f5006b546d890c65573bb5ceab100ce3c3b0d6
279
- - spec/fixtures/repo.git/objects/c3/f573f9c7886117a28bb9f6f09452faec874d52
280
219
  - spec/fixtures/repo.git/objects/c4/01f49fe0172add6a09aec8a7808112ce5894dd
281
- - spec/fixtures/repo.git/objects/c4/3c386d88340ba3214064669190de65e6094082
282
220
  - spec/fixtures/repo.git/objects/c9/3cd4edd7e0b6fd4c69e65fc7f25cbf06ac855c
283
- - spec/fixtures/repo.git/objects/cb/fa06c2ca5c2b91d093b89886d873815820125d
284
- - spec/fixtures/repo.git/objects/ce/460ddb64d2a317bb6f49eaf22ebe839e5d0839
285
221
  - spec/fixtures/repo.git/objects/e9/8d8a9be514ef53609a52c9e1b820dbcc8e6603
286
- - spec/fixtures/repo.git/objects/ed/8af179853d173a838535a250c4500c0ccd8199
287
- - spec/fixtures/repo.git/objects/f2/0051c2ebf04cbf6fe28f8620b7a3c3da2f2fd4
288
- - spec/fixtures/repo.git/objects/f3/9ab5e17f1e98465df20fdf2d8f3a29af10d804
289
- - spec/fixtures/repo.git/objects/f8/93c7f6939fc152ce65f4f4ade3e98e9c6ae9b4
290
222
  - spec/fixtures/repo.git/refs/heads/master
291
223
  - spec/fixtures/rspec/test_spec.rb
292
224
  - spec/fixtures/sleep_script
@@ -1 +0,0 @@
1
- x��K��0Dg�S�>ZKj!Y�&WЧ=c��i3׏}���+xT���&`}�� Ȧ�7����\�m.�������g���_���i4��x�<f]c���hK��DT��9���M��h"p�|�=p��\�~mC HC@8iDT{������r�cjS{�@��T��X��$m������>i�Os
@@ -1,2 +0,0 @@
1
- x��Aj�0E��)f_��e� �l�M�d��X�8�4��u���{>�2OS3��{"�B43�X�R��˱c����w#��EZYF�2�P}
2
- �a�(�t�`)�}�N~�:/p�fW873�Mz���s�m��=��8aN}���n��=ӷ���j���^���`�m[�6G5
@@ -1,3 +0,0 @@
1
- x��Kj�0D��)z$��BH���
2
- ��#b�������!��UT��{S��>�)v^�!���N�U�y!���\if�1�9�M]-�zb 8�(ư�t��e��N����M�� o��
3
- �M���|��t��?��RN��9��k�;���h^������e�������A۾pm �t�C�P�
@@ -1,2 +0,0 @@
1
- x��Aj!E����E`(-۶!��:�\��2-ۡ��?&7���{���Vk0�>�� �R$��dq
2
- �f?kԈ�<հ��CuK�X�rOk��\� ����;�VY����K�ZzxU?�%TA
@@ -1 +0,0 @@
1
- x��Kj1D��)z0���$�l|��t��x��'��|���T��m]���Ûtfd��9p-6�I9S�́J,�B��F�Uw�|H�QtNך3b�M�a*u$��N�%���l����&�?�_xt�����u7�n��j�CO��C�I��(P��,(��Mvx�$�:�.(�~RO�Q�
@@ -1,2 +0,0 @@
1
- x��;�0D�s��"��H!Z��v6�"&(8n�s����8�
2
- (�wef"CR �`�W�'#������3�;-�k�4�+����6���-�@>D��v���ܦ.��
@@ -1 +0,0 @@
1
- x��Aj1}�+�03�V��r�%�#i��X��g���Oȩ��j:��v��I�d�KI�ˎ֔B�Q�Z+I6e)8�<x�]�I"^6W� ��[����|���5|���]���{�ϟ>&�sosm�VBo��l�=���"z�;0�>~��x*��܋��'�L�