Hacker News new | past | comments | ask | show | jobs | submit login

Jeebus. I'm curious what a 100GB branch contains? Data? Binaries? Images?



Basically, it's everything that goes into the product.

1. source code

2. toolchain. there are good reasons for it - we had enromous problems with people using outdated toolchains and fighting with obscure compiler bugs. also just installing new toolchain for everyone will not work - it may have new bugs which are only triggered by old code. bottom line is that toolchain must be in sync with the source and it was a painful lesson. I must add that we have dozens if not hundreds of branches.

3. tests. tests must be in sync with the code, and are branched/merged together. a lot of tests.

4. test results. must be in sync with tests and branched/merged together.

So there you have it.

Other people I know who also have large repsitories are art studios who want to version their artwork - they store raw images.


GNOME and Xfree86 are huge git repositories. They "solved" the problem by using git submodules and their project has already been broken down into modules already.

I'm not entirely satisfied with this approach, since it means a brand new developer has to figure out how to pull all the submodules down when setting up his dev environment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: