FreeBSD Ports Repository Size
-
What techniques do you all use to make a FreeBSD ports repository clone more manageable and responsive due to it's GB size. e.g. shallow clone depth, sparse checkout, etc.
Thanks.
-
So nobody here does employs any techniques to make large git repositories more manageable and responsive. Y'all just suffer through it needlessly. Sorry. Not buying that.
-
I always need all the branches so haven't bothered doing otherwise. Can take a bit of time for initial checkout, but my connectivity at office and home is good enough that it's still reasonably quick. Keep my repos stored on SSD which also makes a significant difference. There is a single-branch option to git clone that'll help some. Shallow clone another possibility depending on what you need.
-
Thanks cmb.
I'll have to take a look at single branch clone sometime. Currently using shallow clone depth ~250 along with sparse checkout that grabs anything with pfSense in the name. That's all I typically need, and then some. Makes even the GB FreeBSD ports repo clone snappy.
Anyone have other practices?
-
Do you always need ALL the history though? Maybe you could make use of a shallow clone for the more frequent routine activities and keep the full clone for those occasions when the complete history is needed. Just keep the full clone up to date once a week or so, or as needed.
Chopping off all that really old history seems to be a significant factor to responsiveness and a big impact on clone size.
My ~250 depth cut the size down to less than 150 MB.
Of course being on SSD you won't notice the performance as much as I do on SRM (spinning rust media). And probably only 5400 RPM at that (two year old i5 2.3 GHz notebook). A decently nice notebook though. Disk I/O seems to be the most significant bottleneck.
-
Having all the history does come in handy on occasion, and doesn't have any negative impacts for me.
-
@cmb:
Having all the history does come in handy on occasion, and doesn't have any negative impacts for me.
That poor SSD getting hammered every time checking out a branch, for the sake of occasional ancient history.