Bonobo-Git-Server icon indicating copy to clipboard operation
Bonobo-Git-Server copied to clipboard

Has there been any thought towards supporting git LFS?

Open svermeulen opened this issue 8 years ago • 27 comments

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?

svermeulen avatar Nov 03 '15 05:11 svermeulen

Would be really nice :-)

gwenzek avatar Jan 06 '16 13:01 gwenzek

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

svermeulen avatar Mar 31 '16 16:03 svermeulen

@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?

willdean avatar Mar 31 '16 17:03 willdean

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

svermeulen avatar Mar 31 '16 17:03 svermeulen

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.

RedX2501 avatar Apr 01 '16 03:04 RedX2501

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

svermeulen avatar Apr 01 '16 17:04 svermeulen

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.

willdean avatar Apr 01 '16 19:04 willdean

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

svermeulen avatar Apr 02 '16 23:04 svermeulen

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.

mkaring avatar Dec 06 '16 11:12 mkaring

@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?

willdean avatar Dec 06 '16 12:12 willdean

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

mkaring avatar Dec 06 '16 13:12 mkaring

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

iHateCode avatar Dec 30 '16 00:12 iHateCode

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

svermeulen avatar Dec 30 '16 04:12 svermeulen

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

mkaring avatar Dec 30 '16 10:12 mkaring

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

svermeulen avatar Dec 30 '16 19:12 svermeulen

@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?

mkaring avatar Feb 13 '17 14:02 mkaring

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

svermeulen avatar Feb 13 '17 15:02 svermeulen

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

mkaring avatar Mar 01 '17 08:03 mkaring

:+1:

GetTeched avatar Jun 29 '17 21:06 GetTeched

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

ashikns avatar Jan 05 '18 10:01 ashikns

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

HippoRider avatar Jan 15 '18 15:01 HippoRider

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.

avin-shum avatar Sep 26 '18 05:09 avin-shum

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?

HippoRider avatar Sep 26 '18 15:09 HippoRider

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 avatar Sep 26 '18 15:09 avin-shum

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

avin-shum avatar Sep 26 '18 16:09 avin-shum

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.

HippoRider avatar Sep 26 '18 16:09 HippoRider

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 :)

derhintze avatar May 04 '23 13:05 derhintze