I put together a script to implement the following while I was using 4.x but installing the alphas and the rc for 5.x. Since I was pulling from a different repo (5.x vs 4.x) and installing to a different tce directory than what I had booted with, it seemed easier than trying to use tce-load to do the dirty work (and it was a fun scripting exercise).
1. from the main repo, wget info.list which is a simple text file listing the available extensions, one per line.
2. make a list of the extensions that interest you
3. for each of those extensions, download the extension and its .dep file, if any
4. combine those .dep files into one big master .dep, then run it through sort and uniq
5. eliminate from the master .dep file any listed dependencies that are already present
6. download any dependency extensions still listed in the master .dep file.
7. repeat steps 3 through 6 until there are no more dependencies to get
While I'm at it I grab the .md5.txt files, and usually the .info, .list and .tree
If you're pulling a large fraction of the repo, spread out the downloads over several mirrors or throw in some sleeps to spread them out over time.
If you've booted from 5.0 (which I suppose you have) and you want the extensions in your working tce directory (which I suppose you do), you can just make a list of extensions that interest you, tce-load -w each of them or even use the apps tool since it has the advantage of providing easy access to the .info files - without the .info files (and sometimes even -with- them) it is not always clear to me what each extension is.