devver-octopi 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitignore +4 -0
  2. data/.yardoc +0 -0
  3. data/CHANGELOG.md +9 -0
  4. data/LICENSE +20 -0
  5. data/README.rdoc +144 -0
  6. data/Rakefile +100 -0
  7. data/VERSION.yml +5 -0
  8. data/contrib/backup.rb +100 -0
  9. data/examples/authenticated.rb +20 -0
  10. data/examples/issues.rb +18 -0
  11. data/examples/overall.rb +50 -0
  12. data/lib/ext/hash_ext.rb +5 -0
  13. data/lib/ext/string_ext.rb +5 -0
  14. data/lib/octopi.rb +136 -0
  15. data/lib/octopi/api.rb +213 -0
  16. data/lib/octopi/base.rb +115 -0
  17. data/lib/octopi/blob.rb +25 -0
  18. data/lib/octopi/branch.rb +31 -0
  19. data/lib/octopi/branch_set.rb +11 -0
  20. data/lib/octopi/comment.rb +20 -0
  21. data/lib/octopi/commit.rb +69 -0
  22. data/lib/octopi/error.rb +35 -0
  23. data/lib/octopi/file_object.rb +16 -0
  24. data/lib/octopi/gist.rb +28 -0
  25. data/lib/octopi/issue.rb +111 -0
  26. data/lib/octopi/issue_comment.rb +7 -0
  27. data/lib/octopi/issue_set.rb +21 -0
  28. data/lib/octopi/key.rb +25 -0
  29. data/lib/octopi/key_set.rb +14 -0
  30. data/lib/octopi/plan.rb +5 -0
  31. data/lib/octopi/repository.rb +132 -0
  32. data/lib/octopi/repository_set.rb +9 -0
  33. data/lib/octopi/resource.rb +70 -0
  34. data/lib/octopi/self.rb +33 -0
  35. data/lib/octopi/tag.rb +23 -0
  36. data/lib/octopi/user.rb +123 -0
  37. data/octopi.gemspec +99 -0
  38. data/test/api_test.rb +58 -0
  39. data/test/authenticated_test.rb +39 -0
  40. data/test/blob_test.rb +23 -0
  41. data/test/branch_test.rb +20 -0
  42. data/test/commit_test.rb +82 -0
  43. data/test/file_object_test.rb +39 -0
  44. data/test/gist_test.rb +16 -0
  45. data/test/issue_comment.rb +19 -0
  46. data/test/issue_set_test.rb +33 -0
  47. data/test/issue_test.rb +120 -0
  48. data/test/key_set_test.rb +29 -0
  49. data/test/key_test.rb +35 -0
  50. data/test/repository_set_test.rb +23 -0
  51. data/test/repository_test.rb +151 -0
  52. data/test/stubs/commits/fcoury/octopi/octopi.rb +818 -0
  53. data/test/tag_test.rb +20 -0
  54. data/test/test_helper.rb +246 -0
  55. data/test/user_test.rb +92 -0
  56. metadata +153 -0
@@ -0,0 +1,151 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper')
2
+
3
+ class RepositoryTest < Test::Unit::TestCase
4
+ include Octopi
5
+
6
+ def setup
7
+ fake_everything
8
+ @user = User.find("fcoury")
9
+ @private_repos = auth do
10
+ @private = @user.repositories.find("rboard")
11
+ @user.repositories
12
+ end
13
+ @repository = @user.repositories.find("octopi")
14
+ end
15
+
16
+
17
+ context Repository do
18
+
19
+ should "not retry for a repository you don't have access to" do
20
+ FakeWeb.register_uri(:get, "#{yaml_api}/repos/show/github/github", :status => 403)
21
+
22
+ exception = assert_raise APIError do
23
+ Repository.find(:user => "github", :name => "github")
24
+ end
25
+
26
+ assert_equal exception.message, "Github returned status 403, you may not have access to this resource."
27
+ end
28
+
29
+ should "return a repository for a user" do
30
+ assert_not_nil @user.repository(:name => "octopi")
31
+ assert @user.repository(:name => "octopi").is_a?(Repository)
32
+ end
33
+
34
+ should "return a repository for a login" do
35
+ assert_not_nil Repository.find(:user => "fcoury", :name => "octopi")
36
+ end
37
+
38
+ should "be able to look up the repository based on the user and name" do
39
+ assert_not_nil Repository.find(:user => @user, :name => "octopi")
40
+ end
41
+
42
+ should "have a User as the owner" do
43
+ assert @repository.owner.is_a?(User)
44
+ end
45
+
46
+ should "return repositories" do
47
+ assert_equal 45, @user.repositories.size
48
+ end
49
+
50
+ should "return more repositories if authed" do
51
+ assert_equal 44, @private_repos.size
52
+ end
53
+
54
+ should "not return a repository when asked for a private one" do
55
+ exception = assert_raise NotFound do
56
+ @user.repository(:name => "rboard")
57
+ end
58
+
59
+ assert_equal "The Repository you were looking for could not be found, or is private.", exception.message
60
+ end
61
+
62
+ should "return a private repository when authed" do
63
+ auth do
64
+ assert_not_nil @user.repository(:name => "rboard")
65
+ end
66
+ end
67
+
68
+ should "be able to search for similar repositories" do
69
+ repos = Repository.search("ruby", "testing")
70
+ assert_not_nil repos
71
+ assert repos.first.is_a?(Repository)
72
+ end
73
+
74
+ should "be able to find the latest 30 commits" do
75
+ commits = @repository.commits
76
+ assert_not_nil commits
77
+ assert_equal 30, commits.size
78
+ end
79
+
80
+
81
+ should "be able to find all open issues" do
82
+ issues = @repository.issues
83
+ assert_not_nil issues
84
+ assert_equal 21, issues.size
85
+ end
86
+
87
+ should "be able to find all issues" do
88
+ issues = @repository.all_issues
89
+ assert_not_nil issues
90
+ assert_equal 42, issues.size
91
+ end
92
+
93
+ should "be able to find an issue" do
94
+ assert_not_nil @repository.issue(28)
95
+ end
96
+
97
+ should "be able to find all collaborators" do
98
+ @collaborators = @repository.collaborators
99
+ assert_not_nil @collaborators
100
+ assert_equal 1, @collaborators.size
101
+ assert @collaborators.first.is_a?(User)
102
+ end
103
+
104
+ should "be able to create a repository" do
105
+ auth do
106
+ Repository.create(:name => "octopus")
107
+ end
108
+ end
109
+
110
+ should "be able to delete a repository" do
111
+ auth do
112
+ @repository.delete!
113
+ end
114
+ end
115
+
116
+ should "not be able to create a repository when not authed" do
117
+ assert_raise Octopi::AuthenticationRequired do
118
+ Repository.create(:name => "octopus")
119
+ end
120
+ end
121
+
122
+ should "be able to retrieve the branches" do
123
+ branches = @repository.branches
124
+ assert_not_nil branches
125
+ assert_equal 4, branches.size
126
+ end
127
+
128
+ should "be able to retrieve the tags" do
129
+ tags = @repository.tags
130
+ assert_not_nil tags
131
+ assert_equal 9, tags.size
132
+ end
133
+
134
+ should "be able to retrieve the comments" do
135
+ assert_not_nil @repository.comments
136
+ comment = @repository.comments.first
137
+ [:content, :author, :title, :updated, :link, :published, :id, :repository, :commit].each do |f|
138
+ assert_not_nil comment.send(f)
139
+ end
140
+ end
141
+
142
+ should "return the correct clone URL" do
143
+ assert_equal "git://github.com/fcoury/octopi.git", @repository.clone_url
144
+ auth do
145
+ assert_equal "git@github.com:fcoury/rboard.git", @private.clone_url
146
+ end
147
+ end
148
+
149
+
150
+ end
151
+ end
@@ -0,0 +1,818 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/0.6.31
3
+ Date: Thu, 06 Aug 2009 05:18:56 GMT
4
+ Content-Type: application/x-yaml; charset=utf-8
5
+ Connection: keep-alive
6
+ Set-Cookie: _github_ses=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--884981fc5aa85daf318eeff084d98e2cff92578f; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
7
+ Status: 200 OK
8
+ X-Runtime: 5065ms
9
+ ETag: "cf88713ff12c8d35789400159323613d"
10
+ Cache-Control: private, max-age=0, must-revalidate
11
+ Content-Length: 32432
12
+
13
+ ---
14
+ commits:
15
+ - message: Sends data in body, not as params (missed Content-Lenght)
16
+ parents:
17
+ - id: 00fd8079dd423c2028a8a62e98a759c4e49258f9
18
+ url: http://github.com/fcoury/octopi/commit/57da65035236b8603c96866f0d5876c6cfe63e46
19
+ author:
20
+ name: Felipe Coury
21
+ email: felipe.coury@gmail.com
22
+ id: 57da65035236b8603c96866f0d5876c6cfe63e46
23
+ committed_date: "2009-07-20T22:29:54-07:00"
24
+ authored_date: "2009-07-20T22:29:54-07:00"
25
+ tree: 67cf3f067fce0bff3c5af717754259cbb0a05d02
26
+ committer:
27
+ name: Felipe Coury
28
+ email: felipe.coury@gmail.com
29
+ - message: |-
30
+ some git config options can have blank values (like pager)
31
+
32
+ Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
33
+ parents:
34
+ - id: 7b33a45ad9e535d8ee27069899ed4de7d703a5f8
35
+ url: http://github.com/fcoury/octopi/commit/ed07094122888df187a377b0739e25a5b195cc1e
36
+ author:
37
+ name: David Dollar
38
+ email: ddollar@gmail.com
39
+ id: ed07094122888df187a377b0739e25a5b195cc1e
40
+ committed_date: "2009-07-17T16:33:23-07:00"
41
+ authored_date: "2009-07-14T10:27:30-07:00"
42
+ tree: 7a73f9f4fb057759248af2aa8eaaf7e83275b0f4
43
+ committer:
44
+ name: Felipe Coury
45
+ email: felipe.coury@gmail.com
46
+ - message: Fixes authorised calls to use https and adds api.commits
47
+ parents:
48
+ - id: 2bfa90160808b4d7ed281e5858164dc8029509bc
49
+ url: http://github.com/fcoury/octopi/commit/21678ec8571a5f4ecb847a1d93d830d09cde9b68
50
+ author:
51
+ name: philnash
52
+ email: philnash@gmail.com
53
+ id: 21678ec8571a5f4ecb847a1d93d830d09cde9b68
54
+ committed_date: "2009-06-01T19:30:01-07:00"
55
+ authored_date: "2009-06-01T19:30:01-07:00"
56
+ tree: 4212505490b89f57055fee5075a04804063c02ea
57
+ committer:
58
+ name: philnash
59
+ email: philnash@gmail.com
60
+ - message: |-
61
+ Sleep between retries (because they are caused by github's rate limit)
62
+
63
+ Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
64
+ parents:
65
+ - id: fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
66
+ url: http://github.com/fcoury/octopi/commit/2bfa90160808b4d7ed281e5858164dc8029509bc
67
+ author:
68
+ name: Nat Budin
69
+ email: natbudin@gmail.com
70
+ id: 2bfa90160808b4d7ed281e5858164dc8029509bc
71
+ committed_date: "2009-05-23T09:57:44-07:00"
72
+ authored_date: "2009-05-13T11:40:47-07:00"
73
+ tree: f4da08ee7e177aa86ec0438ebc00d1f192670221
74
+ committer:
75
+ name: Felipe Coury
76
+ email: felipe.coury@gmail.com
77
+ - message: |-
78
+ Allow retry on post as well as get
79
+
80
+ Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
81
+ parents:
82
+ - id: 3283fa78014bf066c36e5c1dea1a5dae18fec157
83
+ url: http://github.com/fcoury/octopi/commit/fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
84
+ author:
85
+ name: Nat Budin
86
+ email: natbudin@gmail.com
87
+ id: fb5ba554b2d147f8dd62c12ac1dfce1608c2a850
88
+ committed_date: "2009-05-23T09:57:32-07:00"
89
+ authored_date: "2009-05-13T11:31:55-07:00"
90
+ tree: a097806b41c3110597b9f902e447b838fd3f3a58
91
+ committer:
92
+ name: Felipe Coury
93
+ email: felipe.coury@gmail.com
94
+ - message: |-
95
+ Added Public Key Management API hooks.
96
+
97
+ Added methods add_key and keys to user.
98
+ Added new Key resource to add and remove keys.
99
+ parents:
100
+ - id: 845fa497497e211944b13485fa596bf46f8f182a
101
+ url: http://github.com/fcoury/octopi/commit/0a3417a353961c61a7f56818e566d04570c92600
102
+ author:
103
+ name: Felipe Coury
104
+ email: felipe.coury@gmail.com
105
+ id: 0a3417a353961c61a7f56818e566d04570c92600
106
+ committed_date: "2009-04-25T20:02:08-07:00"
107
+ authored_date: "2009-04-25T20:00:31-07:00"
108
+ tree: a4fb1b35429d1241e6853c6c275dfb9caff12122
109
+ committer:
110
+ name: Felipe Coury
111
+ email: felipe.coury@gmail.com
112
+ - message: Missing end on octopi.rb, changed authenticated sample, renamed issue to Sample Issue
113
+ parents:
114
+ - id: d2617707a52f678dd8992a0a5c79f9ce305f24df
115
+ url: http://github.com/fcoury/octopi/commit/845fa497497e211944b13485fa596bf46f8f182a
116
+ author:
117
+ name: Felipe Coury
118
+ email: felipe.coury@gmail.com
119
+ id: 845fa497497e211944b13485fa596bf46f8f182a
120
+ committed_date: "2009-04-25T15:03:10-07:00"
121
+ authored_date: "2009-04-25T15:03:10-07:00"
122
+ tree: e83df2c4cf0265ddc08167f30b6c0b23b4bbd332
123
+ committer:
124
+ name: Felipe Coury
125
+ email: felipe.coury@gmail.com
126
+ - message: |-
127
+ Limit number of repetitions for retryable requests
128
+
129
+ If a RetryableAPIError exception is raised, we only repeat the request
130
+ MAX_RETRIES number of times before raising an APIError. This guards against
131
+ infinite loops, while still allowing most 403 errors to be worked around.
132
+
133
+ As I explained in the commit message for
134
+ 6cae2e317b2e4301200b62654e57a0394c9f8b46, this logic is still pretty vague
135
+ because GitHub hasn't documented their rate limiting policy yet.
136
+ parents:
137
+ - id: 6cae2e317b2e4301200b62654e57a0394c9f8b46
138
+ url: http://github.com/fcoury/octopi/commit/a26df884ed2ecfab18da7ec25c563b38467b84a6
139
+ author:
140
+ name: Run Paint Run Run
141
+ email: runrun@runpaint.org
142
+ id: a26df884ed2ecfab18da7ec25c563b38467b84a6
143
+ committed_date: "2009-04-25T13:18:39-07:00"
144
+ authored_date: "2009-04-25T13:18:39-07:00"
145
+ tree: b800c0319d7d2423e5f3dda9d890b4f69f30e1fe
146
+ committer:
147
+ name: Run Paint Run Run
148
+ email: runrun@runpaint.org
149
+ - message: |-
150
+ Retry 403s and Net::HTTPBadResponse errors.
151
+
152
+ My testing strongly suggests that when GitHub returns status code 403 the
153
+ request can be retried. This may be how they implement rate limiting. So, if
154
+ we get a 403 we simply repeat the request. We don't wait between requests
155
+ because there is not yet any evidence that it would benefit us. Hopefully,
156
+ once the rate limiting is documented, we can revisit this issue.
157
+
158
+ We also retry on Net::HTTPBadResponse exceptions. These are typically raised
159
+ when something between the client and the server clobbers the response, so
160
+ repeating the request is the most sensible approach.
161
+
162
+ We don't limit the number of retries which means this code could end up
163
+ looping forever. I'm loath to specify some arbitrary limit, however, without
164
+ documentation on what to expect. For example, in the case of 403 errors, my
165
+ testing reveals that sometimes we succeed after retrying twice, and other
166
+ times it may take nearly ten retries.
167
+ parents:
168
+ - id: 7b3b8fc98339bd0f47f574ecd7e24f1f141b070e
169
+ url: http://github.com/fcoury/octopi/commit/6cae2e317b2e4301200b62654e57a0394c9f8b46
170
+ author:
171
+ name: Run Paint Run Run
172
+ email: runrun@runpaint.org
173
+ id: 6cae2e317b2e4301200b62654e57a0394c9f8b46
174
+ committed_date: "2009-04-24T22:05:35-07:00"
175
+ authored_date: "2009-04-24T22:05:35-07:00"
176
+ tree: dd6cf18e7832cb3b5c4eeb60a4aa131a49629e53
177
+ committer:
178
+ name: Run Paint Run Run
179
+ email: runrun@runpaint.org
180
+ - message: Add .branches method to Repository object.
181
+ parents:
182
+ - id: 385ce1d6989adae200b10c416e4ea614d24746c0
183
+ url: http://github.com/fcoury/octopi/commit/a37a352bd11b6859aa95419cbd0698f510051028
184
+ author:
185
+ name: Run Paint Run Run
186
+ email: runrun@runpaint.org
187
+ id: a37a352bd11b6859aa95419cbd0698f510051028
188
+ committed_date: "2009-04-23T19:42:53-07:00"
189
+ authored_date: "2009-04-23T19:42:53-07:00"
190
+ tree: 9c4547fb3fa88948322cc3f0bfed1f450c4ce330
191
+ committer:
192
+ name: Run Paint Run Run
193
+ email: runrun@runpaint.org
194
+ - message: |-
195
+ Make .keys and .emails return Arrays.
196
+
197
+ The .keys and .emails methods were returning HTTParty responses which were
198
+ confusing to the caller, and contained an unnecessary level of depth. We now
199
+ index the response with the appropriate hash key, thus returning its Array
200
+ value.
201
+ parents:
202
+ - id: 03da49d56da895ee0750e256dfb1845bc4003260
203
+ url: http://github.com/fcoury/octopi/commit/3221a7f870af4126087451725f152411653f776e
204
+ author:
205
+ name: Run Paint Run Run
206
+ email: runrun@runpaint.org
207
+ id: 3221a7f870af4126087451725f152411653f776e
208
+ committed_date: "2009-04-22T20:48:27-07:00"
209
+ authored_date: "2009-04-22T20:48:27-07:00"
210
+ tree: 3f6ee5d9c06eabd29d267e6f407023557f25b2c2
211
+ committer:
212
+ name: Run Paint Run Run
213
+ email: runrun@runpaint.org
214
+ - message: |-
215
+ Removing superfluous yield.
216
+
217
+ The `submit` method yields to the block it's been passed, prints out a trace,
218
+ then makes almost the same yield again. I assume that this is in error, and
219
+ could have been caused by my previous merge.
220
+ parents:
221
+ - id: b13f6787c935b72dfc2d5bcd8e1debd9c3080719
222
+ url: http://github.com/fcoury/octopi/commit/03da49d56da895ee0750e256dfb1845bc4003260
223
+ author:
224
+ name: Run Paint Run Run
225
+ email: runrun@runpaint.org
226
+ id: 03da49d56da895ee0750e256dfb1845bc4003260
227
+ committed_date: "2009-04-22T20:12:54-07:00"
228
+ authored_date: "2009-04-22T20:12:54-07:00"
229
+ tree: 9714482c07679b5e0e7223f7342980ea60a6973d
230
+ committer:
231
+ name: Run Paint Run Run
232
+ email: runrun@runpaint.org
233
+ - message: |-
234
+ Undo 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68.
235
+
236
+ Commit 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68 has been made obsolete by
237
+ commit 67320c5c3e09a23813367ff772d607d4a64642e5. Now we're appending the
238
+ credentials to GET requests, .keys and .emails can return to using the correct
239
+ request type.
240
+ parents:
241
+ - id: 67320c5c3e09a23813367ff772d607d4a64642e5
242
+ url: http://github.com/fcoury/octopi/commit/b13f6787c935b72dfc2d5bcd8e1debd9c3080719
243
+ author:
244
+ name: Run Paint Run Run
245
+ email: runrun@runpaint.org
246
+ id: b13f6787c935b72dfc2d5bcd8e1debd9c3080719
247
+ committed_date: "2009-04-22T20:09:18-07:00"
248
+ authored_date: "2009-04-22T20:09:18-07:00"
249
+ tree: 92df231e4fd73c19da9d8b0e68161ddb84f08225
250
+ committer:
251
+ name: Run Paint Run Run
252
+ email: runrun@runpaint.org
253
+ - message: |-
254
+ Add credentials to `default_params` for auth'd GET.
255
+
256
+ We want the token and login to be sent for all authenticated queries. They
257
+ were being sent for POST requests, but, seemingly, not for GETs, causing
258
+ methods relying on the latter to fail. HTTParty's `default_params` method
259
+ causes parameters so set to be sent on every request. We specify `login` and
260
+ `token` as default parameters if the request is authenticated.
261
+ parents:
262
+ - id: 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
263
+ url: http://github.com/fcoury/octopi/commit/67320c5c3e09a23813367ff772d607d4a64642e5
264
+ author:
265
+ name: Run Paint Run Run
266
+ email: runrun@runpaint.org
267
+ id: 67320c5c3e09a23813367ff772d607d4a64642e5
268
+ committed_date: "2009-04-22T20:02:51-07:00"
269
+ authored_date: "2009-04-22T20:02:51-07:00"
270
+ tree: d08a11ff5f253e97fad4faec681b6a69c4a97ae7
271
+ committer:
272
+ name: Run Paint Run Run
273
+ email: runrun@runpaint.org
274
+ - message: |-
275
+ POST is required for /user/keys and /user/emails.
276
+
277
+ The .keys and .emails methods returned a "not authenticated" error because
278
+ they were fetched via GET and thus the credentials were not sent. Using POST
279
+ fixes this bug.
280
+ parents:
281
+ - id: 1b8113663544a2a4998b3da051b8c91878362e37
282
+ url: http://github.com/fcoury/octopi/commit/3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
283
+ author:
284
+ name: Run Paint Run Run
285
+ email: runrun@runpaint.org
286
+ id: 3cb8fbddb6cbd0c9ef2d23e65363d48c42917a68
287
+ committed_date: "2009-04-22T19:37:26-07:00"
288
+ authored_date: "2009-04-22T19:37:26-07:00"
289
+ tree: a5118d94496564dbd41855c59595c232da761412
290
+ committer:
291
+ name: Run Paint Run Run
292
+ email: runrun@runpaint.org
293
+ - message: |-
294
+ Merge branch 'master' of git://github.com/fcoury/octopi
295
+
296
+ Conflicts:
297
+ lib/octopi.rb
298
+ parents:
299
+ - id: 7fe95e3ea33d31f56a9d5aa73655b1e42407da07
300
+ - id: 0f92396690d15dc4f5704b0f1a6f80d60f6956ca
301
+ url: http://github.com/fcoury/octopi/commit/006ecb2bc3fd3fa57b13bb870f76b72070770e52
302
+ author:
303
+ name: Run Paint Run Run
304
+ email: runrun@runpaint.org
305
+ id: 006ecb2bc3fd3fa57b13bb870f76b72070770e52
306
+ committed_date: "2009-04-22T06:33:59-07:00"
307
+ authored_date: "2009-04-22T06:33:59-07:00"
308
+ tree: 5c6a0b9bac417516197ae710765481f915d2a8c3
309
+ committer:
310
+ name: Run Paint Run Run
311
+ email: runrun@runpaint.org
312
+ - message: "Seamless authentication using .gitconfig. Closes #15."
313
+ parents:
314
+ - id: 69e57cd8ea6ea782a75734f86dafc49e226b652f
315
+ url: http://github.com/fcoury/octopi/commit/b425c53e7556387bf741aefa37e25ef829dccaf5
316
+ author:
317
+ name: Felipe Coury
318
+ email: felipe.coury@gmail.com
319
+ id: b425c53e7556387bf741aefa37e25ef829dccaf5
320
+ committed_date: "2009-04-22T05:20:17-07:00"
321
+ authored_date: "2009-04-22T05:20:17-07:00"
322
+ tree: bd8079ddcebc81163162692e5d8b3b74d40f9bb6
323
+ committer:
324
+ name: Felipe Coury
325
+ email: felipe.coury@gmail.com
326
+ - message: |-
327
+ Improved issues handing
328
+ Added cURL and regular tracing options
329
+ Improved documentation on README
330
+ Renamed github.yml.default to example
331
+ parents:
332
+ - id: 7ae30402d1485da572c70cca2879241505dc64ba
333
+ url: http://github.com/fcoury/octopi/commit/885694b7bbec122f5dd69cd7bbbcecef49ae6e41
334
+ author:
335
+ name: Felipe Coury
336
+ email: felipe.coury@gmail.com
337
+ id: 885694b7bbec122f5dd69cd7bbbcecef49ae6e41
338
+ committed_date: "2009-04-21T07:43:13-07:00"
339
+ authored_date: "2009-04-21T07:42:35-07:00"
340
+ tree: a608b20022b019fdb9307b6f61482c227473c5f4
341
+ committer:
342
+ name: Felipe Coury
343
+ email: felipe.coury@gmail.com
344
+ - message: |-
345
+ Complain about status code before content type.
346
+
347
+ GitHub currently returns 500 errors as HTML. When we encountered this, the
348
+ error message referred to the content type rather than the status code. Now we
349
+ check the status code first, so errors are more informative.
350
+
351
+ Signed-off-by: Felipe Coury <felipe.coury@gmail.com>
352
+ parents:
353
+ - id: 24f982454a9857eabc546ae807a1ea6501c4db48
354
+ url: http://github.com/fcoury/octopi/commit/cbcda568351da278fa9c028265d4e3f35e8bacde
355
+ author:
356
+ name: Run Paint Run Run
357
+ email: runrun@runpaint.org
358
+ id: cbcda568351da278fa9c028265d4e3f35e8bacde
359
+ committed_date: "2009-04-21T05:53:05-07:00"
360
+ authored_date: "2009-04-21T04:23:55-07:00"
361
+ tree: 800618a23020d8fbbd788d750b363bb230b5872a
362
+ committer:
363
+ name: Felipe Coury
364
+ email: felipe.coury@gmail.com
365
+ - message: |-
366
+ Complain about status code before content type.
367
+
368
+ GitHub currently returns 500 errors as HTML. When we encountered this, the
369
+ error message referred to the content type rather than the status code. Now we
370
+ check the status code first, so errors are more informative.
371
+ parents:
372
+ - id: e7928010f2cc0e019afdacf9e94aae501a743e93
373
+ url: http://github.com/fcoury/octopi/commit/7fe95e3ea33d31f56a9d5aa73655b1e42407da07
374
+ author:
375
+ name: Run Paint Run Run
376
+ email: runrun@runpaint.org
377
+ id: 7fe95e3ea33d31f56a9d5aa73655b1e42407da07
378
+ committed_date: "2009-04-21T04:23:55-07:00"
379
+ authored_date: "2009-04-21T04:23:55-07:00"
380
+ tree: 800618a23020d8fbbd788d750b363bb230b5872a
381
+ committer:
382
+ name: Run Paint Run Run
383
+ email: runrun@runpaint.org
384
+ - message: Added authenticated commands, but GitHub API is giving 500 errors for opening issues.
385
+ parents:
386
+ - id: 917b6ea8f221e47263bbb56317821b75a0f4bc07
387
+ url: http://github.com/fcoury/octopi/commit/545fff17a6c2a5f35e91352b5d75da47b7b05d41
388
+ author:
389
+ name: Felipe Coury
390
+ email: felipe.coury@gmail.com
391
+ id: 545fff17a6c2a5f35e91352b5d75da47b7b05d41
392
+ committed_date: "2009-04-20T19:15:13-07:00"
393
+ authored_date: "2009-04-20T19:15:13-07:00"
394
+ tree: cbf1c98bbc6331521650c968d5a20a37990de989
395
+ committer:
396
+ name: Felipe Coury
397
+ email: felipe.coury@gmail.com
398
+ - message: |-
399
+ Add Base.validate_args, refactored error classes.
400
+
401
+ Children of Base can now call self.validate_args with a hash containing
402
+ arguments as keys and a corresponding specification symbol as the key. If any
403
+ arguments are invalidated, an informative ArgumentError is raised.
404
+ parents:
405
+ - id: ac42162a507f4eaa74a42168b2f0290fae233d68
406
+ url: http://github.com/fcoury/octopi/commit/9fbc19ce4f897e9f7b787d910ed66d84dcc18682
407
+ author:
408
+ name: Run Paint Run Run
409
+ email: runrun@runpaint.org
410
+ id: 9fbc19ce4f897e9f7b787d910ed66d84dcc18682
411
+ committed_date: "2009-04-20T16:24:30-07:00"
412
+ authored_date: "2009-04-20T16:24:30-07:00"
413
+ tree: 369bafd01c6389ad0731d752c11ff2ab42517031
414
+ committer:
415
+ name: Run Paint Run Run
416
+ email: runrun@runpaint.org
417
+ - message: |-
418
+ Added issues API integration
419
+ Refactoring on the way parameters are passed to commits and issues
420
+ parents:
421
+ - id: a6b6edaa0ce7e2c49ca6156523a33fbad2b2a4e9
422
+ url: http://github.com/fcoury/octopi/commit/8bcc40d2b5accc592b814f84ab960fc2b7cbf05f
423
+ author:
424
+ name: Felipe Coury
425
+ email: felipe.coury@gmail.com
426
+ id: 8bcc40d2b5accc592b814f84ab960fc2b7cbf05f
427
+ committed_date: "2009-04-20T11:32:08-07:00"
428
+ authored_date: "2009-04-20T11:32:08-07:00"
429
+ tree: 98548123cdd1fb2d7a0c63e8f57dc87c87fde537
430
+ committer:
431
+ name: Felipe Coury
432
+ email: felipe.coury@gmail.com
433
+ - message: Updated overall.rb example and minor fixes on API interfaces
434
+ parents:
435
+ - id: 6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
436
+ url: http://github.com/fcoury/octopi/commit/107f3c9b7f1fa859bc990763e5858d63f971ddc9
437
+ author:
438
+ name: Felipe Coury
439
+ email: felipe.coury@gmail.com
440
+ id: 107f3c9b7f1fa859bc990763e5858d63f971ddc9
441
+ committed_date: "2009-04-20T07:26:52-07:00"
442
+ authored_date: "2009-04-20T07:26:52-07:00"
443
+ tree: 20349d6b5f178328333ab4871d52af8591c6b5ea
444
+ committer:
445
+ name: Felipe Coury
446
+ email: felipe.coury@gmail.com
447
+ - message: |-
448
+ Sanity check for response content type.
449
+
450
+ The API should respond with data in the same format as we requested. If the
451
+ Content-Type disagrees with what we expected, we raise an exception.
452
+
453
+ This is currently broken for raw Git data as the API call returns the wrong
454
+ content type. Reported as develop/develop.github.com#13
455
+ parents:
456
+ - id: 060655bac4d9a6da8d763e6cc3bd1aef5037d351
457
+ url: http://github.com/fcoury/octopi/commit/6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
458
+ author:
459
+ name: Run Paint Run Run
460
+ email: runrun@runpaint.org
461
+ id: 6882a99d4e43d394d14f7363ee2a0c40f16c0d3f
462
+ committed_date: "2009-04-20T03:56:25-07:00"
463
+ authored_date: "2009-04-20T03:56:25-07:00"
464
+ tree: 6d69d0f09972675de7cf00a720b12ab49001b5ff
465
+ committer:
466
+ name: Run Paint Run Run
467
+ email: runrun@runpaint.org
468
+ - message: Split source over several files.
469
+ parents:
470
+ - id: edbd4df94ab578266ec966a7f90d7018bccec4e8
471
+ url: http://github.com/fcoury/octopi/commit/060655bac4d9a6da8d763e6cc3bd1aef5037d351
472
+ author:
473
+ name: Run Paint Run Run
474
+ email: runrun@runpaint.org
475
+ id: 060655bac4d9a6da8d763e6cc3bd1aef5037d351
476
+ committed_date: "2009-04-20T03:08:55-07:00"
477
+ authored_date: "2009-04-20T03:08:55-07:00"
478
+ tree: 75033d55c59abfd07517dfb47815d217b929f5d6
479
+ committer:
480
+ name: Run Paint Run Run
481
+ email: runrun@runpaint.org
482
+ - message: |-
483
+ Add .clone_url method to Repository objects.
484
+
485
+ Repository objects have a .clone_url method which returns their public clone
486
+ URL.
487
+ parents:
488
+ - id: 102cc1bf2580e2864cc4fb86b405701cf6c43c9c
489
+ url: http://github.com/fcoury/octopi/commit/edbd4df94ab578266ec966a7f90d7018bccec4e8
490
+ author:
491
+ name: Run Paint Run Run
492
+ email: runrun@runpaint.org
493
+ id: edbd4df94ab578266ec966a7f90d7018bccec4e8
494
+ committed_date: "2009-04-19T19:02:15-07:00"
495
+ authored_date: "2009-04-19T19:02:15-07:00"
496
+ tree: f1de27f0584929594634c29013dfdbca6e00d998
497
+ committer:
498
+ name: Run Paint Run Run
499
+ email: runrun@runpaint.org
500
+ - message: |-
501
+ Let find/find_all methods accept objects.
502
+
503
+ Initial draft of letting the user-facing methods, find/find_all, mostly,
504
+ accept an object corresponding to the argument type instead of a string.
505
+ parents:
506
+ - id: d6a8242378a77161ba66634efac8c406487dbd59
507
+ url: http://github.com/fcoury/octopi/commit/102cc1bf2580e2864cc4fb86b405701cf6c43c9c
508
+ author:
509
+ name: Run Paint Run Run
510
+ email: runrun@runpaint.org
511
+ id: 102cc1bf2580e2864cc4fb86b405701cf6c43c9c
512
+ committed_date: "2009-04-19T18:45:20-07:00"
513
+ authored_date: "2009-04-19T18:45:20-07:00"
514
+ tree: 2e12b79c7f64acad00b4e81d19a74f4370a1769e
515
+ committer:
516
+ name: Run Paint Run Run
517
+ email: runrun@runpaint.org
518
+ - message: |-
519
+ Tweaked Repository.find_all's argument handling.
520
+
521
+ Repository.find_all accepted an array of 'words', which it concatenated with
522
+ '+'. It now also accepts a single space-separated String, or any combination
523
+ of the two.
524
+
525
+ This method is still buggy, however, in that the query is not URI escaped;
526
+ it's simply interpolated as-is into the URI. Peculiarly, the API doesn't
527
+ accept URI-escaped space-separated queries, e.g. 'ruby%20spec'. This is
528
+ non-standard enough to put off escaping until I know exactly what the API
529
+ expects.
530
+ parents:
531
+ - id: f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
532
+ url: http://github.com/fcoury/octopi/commit/d6a8242378a77161ba66634efac8c406487dbd59
533
+ author:
534
+ name: Run Paint Run Run
535
+ email: runrun@runpaint.org
536
+ id: d6a8242378a77161ba66634efac8c406487dbd59
537
+ committed_date: "2009-04-19T18:18:55-07:00"
538
+ authored_date: "2009-04-19T18:18:55-07:00"
539
+ tree: dbf4e9576dab1e8b25e0175c51498c62821e0243
540
+ committer:
541
+ name: Run Paint Run Run
542
+ email: runrun@runpaint.org
543
+ - message: |-
544
+ Tag.find accepts User a/o Repository object args.
545
+
546
+ Tag.find(user,repo) assumed user and repo were Strings; now it does the right
547
+ thing if one or both arguments are User or Repository objects, respectively.
548
+ parents:
549
+ - id: 6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
550
+ url: http://github.com/fcoury/octopi/commit/f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
551
+ author:
552
+ name: Run Paint Run Run
553
+ email: runrun@runpaint.org
554
+ id: f47cc6505cc816fa4f5cd6dde5adc20b0d9029be
555
+ committed_date: "2009-04-19T17:47:59-07:00"
556
+ authored_date: "2009-04-19T17:47:59-07:00"
557
+ tree: f59b86c124be86f65af001ab8f4a9f56a7d9dba0
558
+ committer:
559
+ name: Run Paint Run Run
560
+ email: runrun@runpaint.org
561
+ - message: Tweaked .find_all method; no func. changes.
562
+ parents:
563
+ - id: c6ac8abb00862dd9f70ea4376f4d37075f9764b1
564
+ url: http://github.com/fcoury/octopi/commit/6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
565
+ author:
566
+ name: Run Paint Run Run
567
+ email: runrun@runpaint.org
568
+ id: 6dcc3ee64fbe5a09e978b4a8c5397a16bab4ccd2
569
+ committed_date: "2009-04-19T17:04:48-07:00"
570
+ authored_date: "2009-04-19T17:04:48-07:00"
571
+ tree: 322adc3d7c86606374d24b87f649bbde6659befd
572
+ committer:
573
+ name: Run Paint Run Run
574
+ email: runrun@runpaint.org
575
+ - message: |-
576
+ find/find_all join Array arg with '/'.
577
+
578
+ A number of callers were joining their arguments with '/' before passing them
579
+ to find/find_all. Now these methods automatically do this if passed an array.
580
+ There's still duplicate code, but it's better than it was.
581
+ parents:
582
+ - id: bb15be320cfaf1ab12740751d59650491d942c67
583
+ url: http://github.com/fcoury/octopi/commit/c6ac8abb00862dd9f70ea4376f4d37075f9764b1
584
+ author:
585
+ name: Run Paint Run Run
586
+ email: runrun@runpaint.org
587
+ id: c6ac8abb00862dd9f70ea4376f4d37075f9764b1
588
+ committed_date: "2009-04-19T16:56:24-07:00"
589
+ authored_date: "2009-04-19T16:56:24-07:00"
590
+ tree: 744d7dd84430747aafe511319c8eff63c20a1d70
591
+ committer:
592
+ name: Run Paint Run Run
593
+ email: runrun@runpaint.org
594
+ - message: |-
595
+ Initial implementation of the Object API.
596
+
597
+ * The `tree/show/:user/:repo/:tree_sha` call returns an array of objects in
598
+ the given tree. This is exposed by the FileObject class. The name is
599
+ convoluted because Object is a reserved word. 'Tree' is awkward because
600
+ although the argument describes a tree, the returned objects aren't trees...
601
+ We should probably call this Tree, and have it return an array of FileObject
602
+ objects...
603
+ * The `blob/show/:user/:repo/:tree_sha/:path` call is supported by
604
+ Blob.find(user, repo, sha, path).
605
+ * The `blob/show/:user/:repo/:sha` call returns raw Git data irrespective of
606
+ caller's format preference. To handle this a get_raw method has been defined
607
+ which simply requests a given path and returns the raw body without attempting
608
+ to coerce it into a data structure. The right way to handle this is to format
609
+ based on the Content-Type header in the response, but that is always set to
610
+ text/html, so is useless. Blob.find(user, repo, sha) returns said raw data.
611
+ * The .find method is now intelligent about arrays. If yaml[key] is an array,
612
+ each element is assumed to be a hash constituting a new object. I still don't
613
+ claim to understand all the magic of this module, so this enchantment may very
614
+ well be unnecessary, but it enabled some hairy code to be factored out, so it
615
+ stays for now.
616
+ * The .find_all method now accepts a block, to which it passes the data it
617
+ intends to construct a new object with. This is to allow callers to massage
618
+ an arbitrary data structure into a simple hash. This is used for Tag.find
619
+ because GitHub returns a single hash of tags, rather than one hash per tag.
620
+
621
+ (Yes, I realise that this is a ridiculously long commit, and, yes, I have
622
+ heard of cherry-pick...)
623
+ parents:
624
+ - id: 6fc1c143559b2434c19acb2980e93c5dd7290327
625
+ url: http://github.com/fcoury/octopi/commit/bb15be320cfaf1ab12740751d59650491d942c67
626
+ author:
627
+ name: Run Paint Run Run
628
+ email: runrun@runpaint.org
629
+ id: bb15be320cfaf1ab12740751d59650491d942c67
630
+ committed_date: "2009-04-19T16:47:30-07:00"
631
+ authored_date: "2009-04-19T16:14:53-07:00"
632
+ tree: 6190fbfefdeb71b465fcaec228312202ac49e3ba
633
+ committer:
634
+ name: Run Paint Run Run
635
+ email: runrun@runpaint.org
636
+ - message: |-
637
+ Improved handling of API errors.
638
+
639
+ GitHub API errors aren't reported consistently yet. Sometimes they return
640
+ reams of HTML and a non-200 status code, other times they return a 200 status
641
+ code and an error message. We now handle both of these cases by raising an
642
+ APIError with an appropriate message. This will need to be updated as the API
643
+ standardises. When it does, we want to interpret 404s, for example, as the
644
+ object not being found, and thus provide an informative error message.
645
+ parents:
646
+ - id: 3763caf0e49c519710303f28635eb76f40e34e9e
647
+ url: http://github.com/fcoury/octopi/commit/6fc1c143559b2434c19acb2980e93c5dd7290327
648
+ author:
649
+ name: Run Paint Run Run
650
+ email: runrun@runpaint.org
651
+ id: 6fc1c143559b2434c19acb2980e93c5dd7290327
652
+ committed_date: "2009-04-19T13:22:58-07:00"
653
+ authored_date: "2009-04-19T13:22:58-07:00"
654
+ tree: 200a49489514b676a9e9f6887149eee517c4bb9f
655
+ committer:
656
+ name: Run Paint Run Run
657
+ email: runrun@runpaint.org
658
+ - message: |-
659
+ Support for viewing a repository's tags.
660
+
661
+ There's now a Tag class so you can ask for the tags of user's repo with
662
+ Tag.find(user, repo). Plus, all repository objects respond to .tags, which
663
+ returns an array of Tag objects. This isn't the pretties code but it works,
664
+ and that's enough for now.
665
+ parents:
666
+ - id: 773c939a5ca6b3a4f2ed903df04369caa2a0c536
667
+ url: http://github.com/fcoury/octopi/commit/3763caf0e49c519710303f28635eb76f40e34e9e
668
+ author:
669
+ name: Run Paint Run Run
670
+ email: runrun@runpaint.org
671
+ id: 3763caf0e49c519710303f28635eb76f40e34e9e
672
+ committed_date: "2009-04-19T12:55:57-07:00"
673
+ authored_date: "2009-04-19T12:55:57-07:00"
674
+ tree: d8b6450cd634d4df077e6ec9328d9449cf33d90c
675
+ committer:
676
+ name: Run Paint Run Run
677
+ email: runrun@runpaint.org
678
+ - message: Added integration between user and repositories
679
+ parents:
680
+ - id: 38db7cc13b4728e628194fb56f95af04ba3b1a01
681
+ - id: 3dca3c53474643eb843f87b45d2c2df62ce828df
682
+ url: http://github.com/fcoury/octopi/commit/8077ca332e44bf89bb93a9785673c477915bf4ea
683
+ author:
684
+ name: Felipe Coury
685
+ email: felipe.coury@gmail.com
686
+ id: 8077ca332e44bf89bb93a9785673c477915bf4ea
687
+ committed_date: "2009-04-19T09:43:14-07:00"
688
+ authored_date: "2009-04-19T09:43:14-07:00"
689
+ tree: 47532c6d6a8f86e4bf4ad4323fbfb933e40d0836
690
+ committer:
691
+ name: Felipe Coury
692
+ email: felipe.coury@gmail.com
693
+ - message: Added commits suport and integration between repositories and commits
694
+ parents:
695
+ - id: e515ea648fc4b0a852531e312563243a817811b5
696
+ url: http://github.com/fcoury/octopi/commit/38db7cc13b4728e628194fb56f95af04ba3b1a01
697
+ author:
698
+ name: Felipe Coury
699
+ email: felipe.coury@gmail.com
700
+ id: 38db7cc13b4728e628194fb56f95af04ba3b1a01
701
+ committed_date: "2009-04-19T09:26:27-07:00"
702
+ authored_date: "2009-04-19T09:26:27-07:00"
703
+ tree: b846cfbedcd53ddc4360b30bc52a8a12428bbdaf
704
+ committer:
705
+ name: Felipe Coury
706
+ email: felipe.coury@gmail.com
707
+ - message: |-
708
+ Raise APIError if GitHub returns bad status code.
709
+
710
+ If GitHub.com can't handle the API request, either due to user error or server
711
+ error, it returns an utterly useless chunk of HTML. This confuses the library,
712
+ so we now raise an APIError if the status code is anything other than 200.
713
+ Better error handling will have to wait until the API supports it.
714
+ parents:
715
+ - id: 1e9e54acd4936644131dae6839995b4ef2bccd81
716
+ url: http://github.com/fcoury/octopi/commit/3dca3c53474643eb843f87b45d2c2df62ce828df
717
+ author:
718
+ name: Run Paint Run Run
719
+ email: runrun@runpaint.org
720
+ id: 3dca3c53474643eb843f87b45d2c2df62ce828df
721
+ committed_date: "2009-04-19T09:15:04-07:00"
722
+ authored_date: "2009-04-19T09:15:04-07:00"
723
+ tree: 49e2764200c5a9982f8d48e5e8947968991da654
724
+ committer:
725
+ name: Run Paint Run Run
726
+ email: runrun@runpaint.org
727
+ - message: |-
728
+ Let Repository.find(user) show user's repositories
729
+
730
+ Hacked Repository.find so if called with a single argument, assumes it to be a
731
+ user name, and returns an array of Repository objects corresponding to the
732
+ user's repositories.
733
+
734
+ I don't completely understand this library's architecture, so it's likely my
735
+ implementation is Wrong. ;-) Works for me, though.
736
+ parents:
737
+ - id: 63c533fc7883efdd9717ed0a3be1bc033a471e00
738
+ url: http://github.com/fcoury/octopi/commit/1e9e54acd4936644131dae6839995b4ef2bccd81
739
+ author:
740
+ name: Run Paint Run Run
741
+ email: runrun@runpaint.org
742
+ id: 1e9e54acd4936644131dae6839995b4ef2bccd81
743
+ committed_date: "2009-04-19T05:45:37-07:00"
744
+ authored_date: "2009-04-19T05:45:37-07:00"
745
+ tree: b74a6ee903fb261434e9336751ed6c563db26247
746
+ committer:
747
+ name: Run Paint Run Run
748
+ email: runrun@runpaint.org
749
+ - message: Repository search allows multiple query words for AND searching
750
+ parents:
751
+ - id: f76482a8ec00dffd750cb8bc0937d466763aeddb
752
+ url: http://github.com/fcoury/octopi/commit/83276d9a68f2590749749bfd40eebc1846219b13
753
+ author:
754
+ name: Felipe Coury
755
+ email: felipe.coury@gmail.com
756
+ id: 83276d9a68f2590749749bfd40eebc1846219b13
757
+ committed_date: "2009-04-18T20:32:10-07:00"
758
+ authored_date: "2009-04-18T20:32:10-07:00"
759
+ tree: 0b735b6939b1943960c306d5553f7b5a08ffc37f
760
+ committer:
761
+ name: Felipe Coury
762
+ email: felipe.coury@gmail.com
763
+ - message: "More development on the anonymous API: user and repositories"
764
+ parents:
765
+ - id: f7effc366276ab1615185bdbdc3c98515ce41594
766
+ url: http://github.com/fcoury/octopi/commit/6d6fec76209b961d68341a1e026b19111a041c8b
767
+ author:
768
+ name: Felipe Coury
769
+ email: felipe.coury@gmail.com
770
+ id: 6d6fec76209b961d68341a1e026b19111a041c8b
771
+ committed_date: "2009-04-18T20:11:04-07:00"
772
+ authored_date: "2009-04-18T20:11:04-07:00"
773
+ tree: a1ced58523b733130c2c10d6cec754b61b7ec503
774
+ committer:
775
+ name: Felipe Coury
776
+ email: felipe.coury@gmail.com
777
+ - message: Metaprogramming experimentation
778
+ parents:
779
+ - id: 5739978397271f146047c98ac314c12c439d7670
780
+ url: http://github.com/fcoury/octopi/commit/f7effc366276ab1615185bdbdc3c98515ce41594
781
+ author:
782
+ name: Felipe Coury
783
+ email: felipe.coury@gmail.com
784
+ id: f7effc366276ab1615185bdbdc3c98515ce41594
785
+ committed_date: "2009-04-18T17:29:56-07:00"
786
+ authored_date: "2009-04-18T17:29:43-07:00"
787
+ tree: 6efec2f4c25786a8f725d919ed553d3e4d069380
788
+ committer:
789
+ name: Felipe Coury
790
+ email: felipe.coury@gmail.com
791
+ - message: Minor bug fixing, posting data still doesn't work
792
+ parents:
793
+ - id: 036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
794
+ url: http://github.com/fcoury/octopi/commit/5739978397271f146047c98ac314c12c439d7670
795
+ author:
796
+ name: Felipe Coury
797
+ email: felipe.coury@gmail.com
798
+ id: 5739978397271f146047c98ac314c12c439d7670
799
+ committed_date: "2009-04-18T01:03:30-07:00"
800
+ authored_date: "2009-04-18T01:03:30-07:00"
801
+ tree: 2d2c307c50e040c9bce473a889f06a2a91d2ac19
802
+ committer:
803
+ name: Felipe Coury
804
+ email: felipe.coury@gmail.com
805
+ - message: Initial commit
806
+ parents: []
807
+
808
+ url: http://github.com/fcoury/octopi/commit/036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
809
+ author:
810
+ name: Felipe Coury
811
+ email: felipe.coury@gmail.com
812
+ id: 036e73f9ccc8daa375ed01b2fa4ab762b558d3d6
813
+ committed_date: "2009-04-17T21:26:41-07:00"
814
+ authored_date: "2009-04-17T21:26:41-07:00"
815
+ tree: 43e6c11e3fd7af31bb1c4bc03f56f29e8b608908
816
+ committer:
817
+ name: Felipe Coury
818
+ email: felipe.coury@gmail.com