DGA-MI-SSI / YaCo

YaCo is an Hex-Rays IDA plugin. When enabled, multiple users can work simultaneously on the same binary. Any modification done by any user is synchronized through git version control.
GNU General Public License v3.0
313 stars 36 forks source link

Large size exceeds GitHub's file size limit #13

Closed metal-crow closed 6 years ago

metal-crow commented 7 years ago

I was attempting to set up YaCo, and tried to push the initialized repo and first commit to github. However, i get the error File -----.idb is 174.09 MB; this exceeds GitHub's file size limit of 100.00 MB. Checking the first commit, it appears YaCo is attempting to push the entire idb file, which for my binary is 174mb (it's an analysis of a large video game).

I've managed to get around this for right now by collecting garbage and deflating the database, but i was wondering if this was a design limit, and if there was a known workaround for overly large ida databases (such as git large file storage), or if a non git-based host should be used to store the repository.

goulou commented 7 years ago

Sharing the idb is part of the YaCo work flow... You are hitting here a specific limit of Github. I can encourage you to use a personal server for projects with idb biggers than 100mb. I just read about Git LFS (large file storage), but I think it is too early to add support for this in YaCo as of now.

goulou commented 7 years ago

By the way, I discourage using the "compress" database option when saving the idb : when you push the idb in multiple different versions (this happens when you use the "force push" feature, which we should document soon), if it is not compressed, git will only store deltas between successive versions (thanks to xz compression), whereas if the idb is already compressed, xz cannot apply delta compression and the repository will grow significantly.

devnoname120 commented 7 years ago

Note that if you're not willing to set up your own Git server, you can use Bitbucket, Gitlab, (or maybe NotABug), as they don't have a file size limit.

metal-crow commented 7 years ago

Sounds good, will do. Thank you for the advice, you may want to duplicate it in the README.

bamiaux commented 7 years ago

Git LFS should work transparently with yaco if you create the repository manually I'll probably test it next week

bamiaux commented 6 years ago

For reference, it works with git LFS, but be aware it tends to increase the repository size quickly