Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Has there been any thought towards supporting git LFS? #342

Open
svermeulen opened this issue Nov 3, 2015 · 27 comments
Open

Has there been any thought towards supporting git LFS? #342

svermeulen opened this issue Nov 3, 2015 · 27 comments

Comments

@svermeulen
Copy link

Github.com has built-in support now for git LFS (documented here: https://git-lfs.github.com/). Is this something that has been considered at all as a feature down the road?

@gwenzek
Copy link

gwenzek commented Jan 6, 2016

Would be really nice :-)

@svermeulen
Copy link
Author

Can anyone tell me what would be involved in supporting this feature? I would like to take a look at contributing to this, since my organization will require this feature soon. But before I dig too deep into it, I was hoping someone with more experience with Bonobo (and git LFS) could point me in the right direction

@willdean
Copy link
Collaborator

@svermeulen Here's the LFS API spec: https://github.com/github/git-lfs/blob/master/docs/api/README.md

I haven't used it at all, even as a client. It doesn't look too bad - what are your .NET MVC skills like?

@svermeulen
Copy link
Author

I know ASP.NET MVC pretty well, since I've been doing it on and off at my job for the last year. And have been working in C# for ages. I'll take a look at the API and see what I can come up with - thanks

@RedX2501
Copy link
Collaborator

RedX2501 commented Apr 1, 2016

Internally Bonobo uses a full git client to handle pushing and pulling. This means you probably need to install something into the git installation that comes with Bonobo.

For viewing/browsing the repositories LibGit2 is used.

@svermeulen
Copy link
Author

Yeah, after further googling, it looks like we would need LibGit2 to support git lfs first. This issue has more details.

@willdean
Copy link
Collaborator

willdean commented Apr 1, 2016

I'm not convinced that to support LFS just as a server involves much more than implementing the API in the GitHub docs, which I think is just about storing/fetching files at the request of a RESTish API.

I guess if we then wanted them to appear properly in the various web-based browsing parts of Bonobo, then that would need a lot more client support, libgit2, etc.

My suspicion is that there are quite a few users who may not care much about the web-based stuff, and a server-only implementation would be a good starting point.

@svermeulen
Copy link
Author

Ah yeah I see what you mean. It looks like that's what gitblit did. And their git backend (jgit) didn't support LFS either

@mkaring
Copy link

mkaring commented Dec 6, 2016

Was there already anything done in that direction? The LFS support, even if the web part does not support it right now, is something that would come in really handy.

@willdean
Copy link
Collaborator

willdean commented Dec 6, 2016

@mkaring I'm not aware of anything being done on it so far. I'd probably do it if I had a pressing requirement for it on a specific project. Do you fancy having a go?

@mkaring
Copy link

mkaring commented Dec 6, 2016

@willdean Okay. I'll give it a shot.

@iHateCode
Copy link

I'd love to see LFS supported even if it's just on the backend

@svermeulen
Copy link
Author

I still might be submitting a pull request with it at some point. I have a working implementation

@mkaring
Copy link

mkaring commented Dec 30, 2016

@svermeulen Do you have that implementation uploaded anywhere? I started mine from scratch.

@svermeulen
Copy link
Author

@mkaring Not yet, but I will work on that. How far along is yours?

@mkaring
Copy link

mkaring commented Feb 13, 2017

@svermeulen Sorry for the long delay. Not much happend on this from my end. I did setup the extended communication for git-lfs but did not yet implement the storage for the additional files. I was thinking adding some additional configuration values to store the LFS files embedded in the parent repository or in a external directory. Dunno if a per-repository configuration for that is required. I did not for see any UI configuration for this at all.

The last state was that the bonobo server identified itself as a LFS server with the default configuration of git-lfs and accepted new lfs streams. How ever handling the uniqueness of the generated IDs and receiving the data is not done yet.

At this point I am not fully sure how the generating of the hashes that identify the files work. The LFS client creates a hash that is assigned to the file on it's own, but I am not sure to what extend I need to validate that hash on the server side. Some more research is required there.

What is the state of your implementation?

@svermeulen
Copy link
Author

svermeulen commented Feb 13, 2017

I was hoping to have time to make a proper pull request, but haven't so far. So I think I'll just dump my implementation somewhere and post the link here in case the work is of use to anyone

@mkaring
Copy link

mkaring commented Mar 1, 2017

@svermeulen Hey... did your dump your implementation already somewhere? I'd really like to have a look at it.

@GetTeched
Copy link

👍

@ashikns
Copy link

ashikns commented Jan 5, 2018

Checking in from the year 2018 :) Would love to have backend support for LFS

@HippoRider
Copy link

newbie here so apologies if answer is obvious:
People here request for LFS backend support. Does that mean that there is some kind of support on LFS?
I managed to commit and push png images using LFS using this server only once. But for some reason I cannot push anymore with the error:
Hook Log
Git LFS: (0 of 29 files) 0 B / 2.12 MB
batch response: Repository or object not found: https://myWebSite.com/Git/MyRepo.git/info/lfs/objects/batch
Check that it exists and that you have proper access to it
exit

If there is no support of LFS how did I push in the first place?
Thanks in advance

@avin-shum
Copy link

I have installed Bonobo long time ago, but now when I tried to use LFS for binary files and got this issue.

I am glad to have LFS supported by Bonobo. Seems there are not much alternatives for Git server on IIS.

@HippoRider
Copy link

I have installed Bonobo long time ago, but now when I tried to use LFS for binary files and got this issue.

I am glad to have LFS supported by Bonobo. Seems there are not much alternatives for Git server on IIS.

Just to confirm. You are able to use LFS with Bonobo with non-binary files but you are getting the same error as myself when you use it with binary files?

@avin-shum
Copy link

I have installed Bonobo long time ago, but now when I tried to use LFS for binary files and got this issue.
I am glad to have LFS supported by Bonobo. Seems there are not much alternatives for Git server on IIS.

Just to confirm. You are able to use LFS with Bonobo with non-binary files but you are getting the same error as myself when you use it with binary files?

No, I have never tried LFS on non-binary files. I'd like to use LFS to store 3rd party libraries for inventory control.

@avin-shum
Copy link

By the way, the latest Bonobo release is already about 1.5yr ago. I wonder whether it is already discontinued.

@HippoRider
Copy link

By the way, the latest Bonobo release is already about 1.5yr ago. I wonder whether it is already discontinued.

Looking at their web page it doesn't indicate anywhere that is discontinued.

@derhintze
Copy link

derhintze commented May 4, 2023

As new versions are still being published, and it has been five years after the last comment, I'd like to chime in here to show that there's need for git LFS support :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests