Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does GitLab support large files via git-annex or otherwise?

I run a GitLab instance and would like to allow my users to upload files of almost any size.

It is well-known that git still has problems with large files. I am aware of approaches to circumvent this issue by storing the files somewhere else and versioning just the metadata, e.g. git-annex, git-media and git-fat. Are any of these integrated into GitLab, or would it be easy to do so?

like image 905
Christian Pietsch Avatar asked Mar 25 '14 09:03

Christian Pietsch


People also ask

How does git handle large files?

How Does Git LFS Work? Git LFS uses pointers instead of the actual files or binary large objects (blobs). So, instead of writing large files/blobs to a Git repository, you write a pointer file, and the files/blobs themselves are written to a separate server. Plus, with Git LFS, multiple servers can be used.

Does GitLab have storage limit?

Project storage limitNamespaces on a GitLab SaaS paid tier (Premium and Ultimate) have a storage limit on their project repositories. A project's repository has a storage quota of 10 GB.

Can GitHub store large files?

GitHub limits the size of files allowed in repositories. If you attempt to add or update a file that is larger than 50 MB, you will receive a warning from Git. The changes will still successfully push to your repository, but you can consider removing the commit to minimize performance impact.

How does GitHub large file storage work?

Git LFS handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, Git LFS creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). GitHub manages this pointer file in your repository.


2 Answers

This is discussed and open for consideration in this issue

git-annex can manage links afaik.
But it won't allow me to actually store or distribute any files.

GitLab team ADMIN GitLab team (Admin, Gitlab) commented · October 07, 2013 16:51
Consider looking into git-annex

But this isn't implemented yet.

Before 5.0, GitLab was using gitolite as an authorization layer (replaced since by gitlab-shell).
And incidentally, gitolite just integrated git-annex support (commit b23aed9, March 20th, 2014).


Since GitLab 7.8 (Feb 2015), git-annex is integrated:

As far as we know GitLab is the first git repository management solution that integrates git-annex.
This is possible because both git-annex and GitLab stay very close to the unix paradigms. Internally GitLab uses GitLab Shell to handle ssh access and this was a great integration point for git-annex.
We've added a setting to GitLab Shell so you can disable GitLab Annex support if you don't want it.

like image 30
VonC Avatar answered Nov 08 '22 18:11

VonC


As of February 18 2015 git-annex is supported on GitLab 7.8 Enterprise Edition

like image 109
Out of Control Avatar answered Nov 08 '22 19:11

Out of Control