Description
Servo regularly gets bugs like servo/servo#7687 filed because downloading 320 MB of git history for servo/skia takes such a long time. (This repository is used as a git dependency.)
Shallow clones (rust-lang/cargo#1171) would fix this (git clone --depth=1
fetches about 11 MB worth of objects), but according to @Manishearth libgit2 support is unlikely to happen.
We’re playing with hacks like https://github.com/servo/skia-snapshots/blob/master/update.sh , but they seem brittle and require jumping through hoops to make updates.
Another option would be to publish on crates.io, which has a well-established process to make updates. However cargo package
creates a 12 MB .crate
file, which is over the current 10 MB limit. This is a big pile of C++ source code. Splitting it up seems challenging at best.
Could the limit be raised a bit, say to 15 or 20 MB? Or, could we add a way for crates.io administrators to grant a derogation to individual crates?