I'm not sure. We try to not invest the wheel but base it upon what is standard for Rails applications. That is probably why the GitLab gemfile is over 250 lines :) https://gitlab.com/gitlab-org/gitlab-ce/blob/master/Gemfile
Best regards, Sytse Sijbrandij CEO GitLab B.V. On Mon, Mar 2, 2015 at 2:03 PM, Pavel Volgarev <[email protected]> wrote: > I don't know about any Rails-specific implementations but from the general > RESTful point of view, you'd have two options: 1) Pass a set of objects with > the normal POST request. 2) Use "multipart/form-data" semantics. In your > case, option (1) would probably require a separate API endpoint (for > example, "repository/files/bulk") because you already have "POST > repository/files" defined for operation on a single entity (and having the > API figure out whether it's batch request or not based on the shape of the > payload is not a good idea in my opinion). Also, with (1) you'd probably > also need to have "PUT" and "DELETE" implemented, otherwise it can be > confusing that I can't delete/update files in batch whereas I can create > them (you can argue the same is true for (2) but in that case you wouldn't > end up with an extra API endpoint which is purely for creating new items, at > least in the beginning). > > Is this something you guys would consider? > > Thanks. > > Pavel. > > On Mar 2, 2015 4:30 PM, "Sytse Sijbrandij" <[email protected]> wrote: >> >> No problem, How do other Rails apps handle this (link to their api docs)? >> >> Best regards, >> Sytse Sijbrandij >> CEO GitLab B.V. >> >> >> On Tue, Feb 24, 2015 at 6:42 AM, Pavel Volgarev <[email protected]> wrote: >> > Hey Sytse, >> > >> > Sorry for the late reply (didn't see your update and no notifications >> > went >> > out). I think it would make sense to make the "POST >> > /projects/:id/repository/files" respect "multipart/form-data" as content >> > type: >> > >> > Request example: >> > >> > POST /projects/123/repository/files >> > Content-Type: multipart/form-data; >> > boundary=---------------------------478322346 >> > >> > >> > ---------------------------478322346 >> > Content-Type: application/json >> > >> > >> > { >> > "file_name": "app/project.rb", >> > "branch_name": "master" >> > } >> > ---------------------------478322346 >> > Content-Type: application/json >> > >> > >> > { >> > "file_name": "app/bootstrap.sh", >> > "branch_name": "master" >> > } >> > >> > Successful response: >> > >> > 201 Created >> > Content-Type: application/json >> > >> > >> > [ >> > { >> > "file_name": "project.rb", >> > "file_path": "app/project.rb", >> > "size": 1476, >> > "encoding": "base64", >> > ... >> > }, >> > >> > >> > ... >> > ] >> > >> > Let me know what you think. >> > >> > On Monday, February 2, 2015 at 4:41:51 PM UTC-5, sytse wrote: >> >> >> >> Do you have a proposal how to change the API? How do other Rails apps >> >> handle this (link to their api docs)? >> >> ᐧ >> >> >> >> Best regards, >> >> Sytse Sijbrandij >> >> CEO GitLab B.V. >> >> >> >> >> >> On Thu, Jan 29, 2015 at 10:55 AM, Pavel Volgarev <[email protected]> >> >> wrote: >> >> > Hi guys, >> >> > >> >> > We need to be able to commit multiple files to a project at once. >> >> > Currently, the way API works is it only allows you to commit one file >> >> > at a >> >> > time. We were thinking about branching, committing into that branch >> >> > and >> >> > making a Merge Request but that still doesn't change the fact that we >> >> > end up >> >> > with multiple commits to the target branch. >> >> > >> >> > Any thoughts? >> >> > >> >> > Best regards, >> >> > >> >> > Pavel. >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups "GitLab" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> >> > send >> >> > an email to [email protected]. >> >> > To view this discussion on the web visit >> >> > >> >> > https://groups.google.com/d/msgid/gitlabhq/93673086-c10b-4ee1-9a0b-5be48739a5e7%40googlegroups.com. >> >> > For more options, visit https://groups.google.com/d/optout. >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "GitLab" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > To view this discussion on the web visit >> > >> > https://groups.google.com/d/msgid/gitlabhq/da13bb17-f8cb-4530-8ad9-3d548d0fba31%40googlegroups.com. >> > >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "GitLab" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/gitlabhq/Q5PQdJLN4Oo/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/gitlabhq/CAJTzhG9neyqo2t2kEu155sH9g2y%3DvxjRuZfCUmSwoxNPVPUPFQ%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "GitLab" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/gitlabhq/CABXn0AmP1_nH0RZu1372%2BHgB44_6jc_UYznK%3DuACKUEPKqwg2Q%40mail.gmail.com. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "GitLab" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/gitlabhq/CAJTzhG_EPUqpsGF8PKd3f-x7eTrKF7q7Q8yGPeOXg8SOOcN%3D2Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
