Reputation: 985
I know GitLab EE supports git-annex. However, us being a small team (of 2), plus lower cost projects, we're using GitLab CE in self hosted environment.
Now facing problems with big binary files and images, we're starting to look for a solution.
If there is any way git-annex can be manually integrated to gitlab-shell, or anyone attempting this or wanting to attempt, kindly help me out.
Upvotes: 3
Views: 377
Reputation: 124
It's been 7 years since this question was originally asked, and it is still relevant. From what I've found, it looks like git-annex has been entirely removed from both GitLab CE and EE in favor of git-lfs. To me, using git-lfs is not an option, because that will force you to push the LFS data to every mirror, therefore it will take up the space on every mirror. As an example, if I wanted to have a mirror in GitHub, and I'm using LFS, it would mean that I'd need to push the LFS data to GitHub too, and this restricts me to comply with the LFS limits. In addition to this, git-lfs forces the user to download all the data on pull, and in my case we're talking about lots of data, so downloading all of it on every pull is also not an option. So for my use case, git-lfs is not a proper replacement for git-annex.
There is a pull request for adding git-annex to Gitea but I wasn't able to make it work.
I have only been able to make two self-hosted solution work with git-annex so far: (1) gitolite, which is not particularly easy to setup, and I eventually encountered some git-annex repo corruption problems that I haven't been able to fix, and (2) G-Node Gin which I was able to setup using docker-compose, although I had to deviate slightly (and simplify) the instructions provided in the website. Finally, you can always have a git-bare repo over ssh with annex initialized on it.
Upvotes: 1
Reputation: 487
The integration is not the problem; storage is. Why would Gitlab store your data for free?
I suggest you guys enable ssh access on your PCs, set each other as remotes, then just git annex copy --from remote-name
. It's easier, doesn't rely on third-parties, and it's the way Linus and Joey intended git and git-annex to be used.
Upvotes: 0