Is Git recommended for large (>250GB) content repositories

感情迁移 提交于 2019-11-28 19:13:27

I just happened to be reading this blog post not one minute ago. It's a bit of a rant about the scalability of git.

Edit: Eight years later, and Git has Large File Storage (LFS), and Microsoft is open sourcing Git Virtual File System (GVFS) so they can use git to develop Windows.

First, I don't agree that Git is inappropriate for non-technical users. Yes, there are certain features that newbies won't use (e.g. git-send-email). But there are also GUIs like TortoiseGit to make simple things simple.

However, I think you're approaching things the wrong way. Basically, you have content that will change frequently and needs to be editable very easily by Joe Bloggs, and code that will be modified less frequently by coders. The traditional solution is to use a real CMS (e.g. Alfresco, SugarCRM, Drupal, etc. or a Wiki (MediaWiki, MoinMon, etc.), with optional plug-ins. Keep in mind, wikis (and most CMSes) allow versioning of content, in a "user-friendly" way.

Even if you must keep your in-house code, I think you should still want to extricate the content so they can be treated separately. Once you have the code and content separate, your repository will be a more reasonable size. Then, you can use whatever VCS you want (though I'm not really sure you're right that Git is inherently bad for large repos).

Jared Oberhaus

git does not scale for large repositories. It's not the space, it's the number of files. Please read my blog article that I wrote a while back about this.

In my experience, if you want a scalable, fast, centralized source control system, P4 is the way to go.

Is SVN really such a bad option?

PROS:

  • Can handle large repositories e.g. many linux distro's use it, also Apache, Sourceforge
  • Has nice GUI front end with TortoiseSVN to keep your windows users happy
  • Can be used with windows integrated authentication to keep admins happy
  • Many different backup strategies can be adopted based on your requirements (svnadmin hotcopy or dump, svnsync, post-commit hooks) to help ease your single point of failure concern.

CONS:

  • Centralised VCS

Disclaimer: I've never used Perforce and have been a happy SVN admin and user for ~6 years (since v0.29)

There's a utility script called git-split that chops up a git repo to make it more efficient.

Microsoft just released Git Virtual File System (GVFS) specifically to handle large code base with git. More details here at msdn

Also Microsoft hosts the Windows source in a monstrous 300GB Git repository

I do not have any experience using GVFS.

I used git only once for a school project (php site with Zend Framework).

We used git but the teacher needed to have the final release on a svn repo.

Comparing the checkout size:

git checkout was half the size of MB of the svn checkout.

My two cents.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!